Files
FlowScope/My project/Assets/FlowScope/Runtime/UI/UIPanelBase.cs
2026-05-15 15:57:30 +08:00

25 lines
552 B
C#

using R3;
using UnityEngine;
namespace FlowScope.UI
{
public abstract class UIPanelBase<TViewModel> : MonoBehaviour
{
protected TViewModel ViewModel { get; private set; }
protected CompositeDisposable Disposables { get; } = new();
public void Bind(TViewModel viewModel)
{
ViewModel = viewModel;
OnBind(viewModel);
}
public virtual void Unbind()
{
Disposables.Clear();
}
protected abstract void OnBind(TViewModel viewModel);
}
}