public interface IComponent
组件
注意:共享组件的声明周期相关的方法都会被忽略。
- 作者:
- wjybxx date - 2024/6/22
-
方法概要
修饰符和类型方法说明ComponentId<?> getCid()获取组件id 注意:组件在添加到实体后,组件id必须保持稳定获取组件挂载的实体,尚未挂载的情况下返回null获取组件的状态default void从实体上删除时调用; 1.只负责销毁自身的资源,数据也可能有较大的资源引用,因此也需要OnDestroy方法。default voidonReady()组件在挂载到实体后调用; 1.只能初始化自己的数据,不应该访问其它组件。voidsetCid(ComponentId<?> cid) 设置组件id 注意: 1.只有初始状态下可以设置 2.泛型类如果想指向不同的组件id,必须手动设置组件id
-
方法详细资料
-
getEntity
IEntity getEntity()获取组件挂载的实体,尚未挂载的情况下返回null -
getCid
获取组件id 注意:组件在添加到实体后,组件id必须保持稳定 -
setCid
设置组件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.组件之间不应该有顺序依赖
-