using UnityEngine; namespace Cryville.Crtr.Browsing.UI { internal abstract class BrowserItem : MonoBehaviour { protected ResourceBrowser Browser { get; private set; } protected int? Id { get; private set; } protected bool IsDir { get; private set; } protected IResourceMeta Meta { get; private set; } internal void Load(ResourceBrowser browser, int id, bool isDir, IResourceMeta item, bool selected) { OnReset(); Browser = browser; Id = id; IsDir = isDir; Meta = item; OnLoad(selected); } protected abstract void OnReset(); protected abstract void OnLoad(bool selected); internal virtual void OnSelect() { } internal virtual void OnDeselect() { } } }