using System; using UnityEngine; using YIUIFramework; namespace ET.Client { public interface IYIUI3DDisplayClick { void OnClick(Entity self, UI3DDisplay display, GameObject target, GameObject root); } public interface IYIUI3DDisplayClick : ISystemType, IYIUI3DDisplayClick { } [EntitySystem] public abstract class YIUI3DDisplayClickSystem : SystemObject, IYIUI3DDisplayClick where T1 : Entity, IYIUIBind, IYIUIInitialize { Type ISystemType.Type() { return typeof(T1); } Type ISystemType.SystemType() { return typeof(IYIUI3DDisplayClick); } void IYIUI3DDisplayClick.OnClick(Entity self, UI3DDisplay display, GameObject target, GameObject root) { YIUI3DDisplayClick((T1)self, display, target, root); } protected abstract void YIUI3DDisplayClick(T1 self, UI3DDisplay display, GameObject target, GameObject root); } }