YIUILoopOnClickCheck.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. namespace ET.Client
  3. {
  4. public interface IYIUILoopOnClickCheck
  5. {
  6. /// <summary>
  7. /// 点击之前调用 点击事件检查
  8. /// 调用SetOnClickCheck方法设置点击事件信息后生效
  9. /// </summary>
  10. bool OnClickCheck(Entity self, Entity item, object data, int index, bool select);
  11. }
  12. public interface IYIUILoopOnClickCheck<in T1, in T2, in T3> : ISystemType, IYIUILoopOnClickCheck
  13. {
  14. }
  15. [EntitySystem]
  16. public abstract class YIUILoopOnClickCheckSystem<T1, T2, T3, T4, T5> : SystemObject, IYIUILoopOnClickCheck<T1, T2, T3>
  17. where T1 : Entity, IYIUIBind, IYIUIInitialize
  18. where T2 : Entity, IYIUIBind, IYIUIInitialize
  19. {
  20. Type ISystemType.Type()
  21. {
  22. return typeof(T1);
  23. }
  24. Type ISystemType.SystemType()
  25. {
  26. return typeof(IYIUILoopOnClickCheck<T1, T2, T3>);
  27. }
  28. bool IYIUILoopOnClickCheck.OnClickCheck(Entity self, Entity item, object data, int index, bool select)
  29. {
  30. return YIUILoopOnClickCheck((T1)self, (T2)item, (T3)data, index, select);
  31. }
  32. protected abstract bool YIUILoopOnClickCheck(T1 self, T2 item, T3 data, int index, bool select);
  33. }
  34. }