Neg_Utils/NEG/UI/UnityUi/MonoController.cs
2023-08-20 14:07:45 +02:00

29 lines
740 B
C#

using KBCore.Refs;
using NegUtils.NEG.UI;
using System;
using UnityEngine;
namespace NEG.UI.UnityUi
{
public abstract class MonoController : MonoBehaviour, IController
{
[SerializeField, Self] protected InterfaceRef<IControllable> controllable;
public virtual void OnOpened(object data) { }
public virtual void OnClosed() { }
protected virtual void Awake()
{
controllable.Value.OnOpened += OnOpened;
controllable.Value.OnClosed += OnClosed;
controllable.Value.UseBack += UseBack;
}
private void OnValidate() => this.ValidateRefs();
public virtual void UseBack(IControllable.BackUsed obj)
{
}
}
}