接口 IComponent


public interface IComponent
组件

注意:共享组件的声明周期相关的方法都会被忽略。

作者:
wjybxx date - 2024/6/22
  • 方法概要

    修饰符和类型
    方法
    说明
    获取组件id 注意:组件在添加到实体后,组件id必须保持稳定
    获取组件挂载的实体,尚未挂载的情况下返回null
    获取组件的状态
    default void
    从实体上删除时调用; 1.只负责销毁自身的资源,数据也可能有较大的资源引用,因此也需要OnDestroy方法。
    default void
    组件在挂载到实体后调用; 1.只能初始化自己的数据,不应该访问其它组件。
    void
    设置组件id 注意: 1.只有初始状态下可以设置 2.泛型类如果想指向不同的组件id,必须手动设置组件id
  • 方法详细资料

    • getEntity

      IEntity getEntity()
      获取组件挂载的实体,尚未挂载的情况下返回null
    • getCid

      @Nonnull ComponentId<?> getCid()
      获取组件id 注意:组件在添加到实体后,组件id必须保持稳定
    • setCid

      void setCid(ComponentId<?> cid)
      设置组件id 注意: 1.只有初始状态下可以设置 2.泛型类如果想指向不同的组件id,必须手动设置组件id
      抛出:
      IllegalStateException - 如果组件不是ComponentStatus.NEW状态
    • getStatus

      ComponentStatus getStatus()
      获取组件的状态
    • onReady

      default void onReady()
      组件在挂载到实体后调用; 1.只能初始化自己的数据,不应该访问其它组件。 2.该方法的设计初衷是处理反序列化的数据兼容性问题(成员可能不是正常构造的) 3.组件之间不应该有顺序依赖
    • onDestroy

      default void onDestroy()
      从实体上删除时调用; 1.只负责销毁自身的资源,数据也可能有较大的资源引用,因此也需要OnDestroy方法。 2.只有挂载到实体上的组件会执行该方法。 3.组件之间不应该有顺序依赖