using System; namespace ET.Client { public interface IYIUILoopRenderer { /// /// 渲染数据项 /// /// 渲染器实体 /// 显示对象 /// 数据项 /// 数据的索引 /// 是否被选中 void Renderer(Entity self, Entity item, object data, int index, bool select); } public interface IYIUILoopRenderer : ISystemType, IYIUILoopRenderer { } [EntitySystem] public abstract class YIUILoopRendererSystem : SystemObject, IYIUILoopRenderer where T1 : Entity, IYIUIBind, IYIUIInitialize where T2 : Entity, IYIUIBind, IYIUIInitialize { Type ISystemType.Type() { return typeof(T1); } Type ISystemType.SystemType() { return typeof(IYIUILoopRenderer); } void IYIUILoopRenderer.Renderer(Entity self, Entity item, object data, int index, bool select) { YIUILoopRenderer((T1)self, (T2)item, (T3)data, index, select); } protected abstract void YIUILoopRenderer(T1 self, T2 item, T3 data, int index, bool select); } }