接口 IEntity


public interface IEntity
组件模式的实体抽象

Q:需要提供根据Class查询组件的接口吗? A:不需要!用户可以根据Class查询关联的组件id,再来查询。

作者:
wjybxx date - 2024/6/22
  • 方法详细资料

    • addComponent

      void addComponent(IComponent comp)
      添加组件
    • delComponent

      boolean delComponent(IComponent comp)
      删除组件
    • containsComponent

      boolean containsComponent(IComponent comp)
      是否包含指定组件
    • getComponents

      List<? extends IComponent> getComponents()
      实体绑定的所有组件 - 这通常是个快照,只有运行期不可变的实体,可以共享List
    • getComponents

      int getComponents(List<IComponent> outList)
      获取所有的组件 -- 可使用外部的List
    • countComponent

      int countComponent()
      获取当前组件数量
    • getComponent

      <T extends IComponent> T getComponent(ComponentId<T> cid)
      获取指定组件id关联的第一个组件
    • getLastComponent

      <T extends IComponent> T getLastComponent(ComponentId<T> cid)
      获取指定组件id关联的最后一个组件
    • getComponents

      <T extends IComponent> List<T> getComponents(ComponentId<T> cid)
      获取指定组件id关联的所有组件
    • getComponents

      <T extends IComponent> int getComponents(ComponentId<T> cid, List<? super T> outList)
      获取指定组件id关联的所有组件,返回返回的组件数量
    • delComponent

      <T extends IComponent> T delComponent(ComponentId<T> cid)
      删除指定组件id关联的第一个组件 -- 可能不支持通过该接口删除
    • delLastComponent

      <T extends IComponent> T delLastComponent(ComponentId<T> cid)
      删除指定组件id关联的最后一个组件 -- 可能不支持通过该接口删除
    • delComponents

      <T extends IComponent> List<T> delComponents(ComponentId<T> cid)
      删除指定组件id关联的所有组件 -- 可能不支持通过该接口删除
    • delComponents

      <T extends IComponent> int delComponents(ComponentId<T> cid, List<? super T> outList)
      删除指定组件id关联的所有组件,返回删除的组件数量
    • countComponent

      int countComponent(ComponentId<?> cid)
      统计指定组件id关联的组件数