Files
crtr/Assets/Cryville/Crtr/Browsing/UI/BrowserItem.cs

23 lines
692 B
C#

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() { }
}
}