using System; using KitsuneCafe.Sys; using UnityEngine; namespace KitsuneCafe.UI { [CreateAssetMenu(menuName = KitsuneCafeMenu.Ui + "Orchestrator")] public class UiOrchestrator : ScriptableObject { public event EventHandler SpawnRequested = default; public event EventHandler DespawnRequested = default; public ElementId SpawnElement(IUiElement element, Vector3 worldPosition) { var id = ElementId.Create(); SpawnRequested.Invoke(this, SpawnElementRequest.Create(id, element, worldPosition)); return id; } public void DespawnElement(ElementId id) { DespawnRequested.Invoke(this, DespawnElementRequest.Create(id)); } } }