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