Documentation
¶
Index ¶
- Variables
- func BindEventComponentDestroy(auto iAutoEventComponentDestroy, subscriber EventComponentDestroy, ...) event.Handle
- func BindEventComponentEnableChanged(auto iAutoEventComponentEnableChanged, subscriber EventComponentEnableChanged, ...) event.Handle
- func BindEventComponentManagerAddComponents(auto iAutoEventComponentManagerAddComponents, ...) event.Handle
- func BindEventComponentManagerComponentEnableChanged(auto iAutoEventComponentManagerComponentEnableChanged, ...) event.Handle
- func BindEventComponentManagerFirstTouchComponent(auto iAutoEventComponentManagerFirstTouchComponent, ...) event.Handle
- func BindEventComponentManagerRemoveComponent(auto iAutoEventComponentManagerRemoveComponent, ...) event.Handle
- func BindEventEntityDestroy(auto iAutoEventEntityDestroy, subscriber EventEntityDestroy, priority ...int32) event.Handle
- func BindEventTreeNodeAddChild(auto iAutoEventTreeNodeAddChild, subscriber EventTreeNodeAddChild, ...) event.Handle
- func BindEventTreeNodeAttachParent(auto iAutoEventTreeNodeAttachParent, subscriber EventTreeNodeAttachParent, ...) event.Handle
- func BindEventTreeNodeDetachParent(auto iAutoEventTreeNodeDetachParent, subscriber EventTreeNodeDetachParent, ...) event.Handle
- func BindEventTreeNodeMoveTo(auto iAutoEventTreeNodeMoveTo, subscriber EventTreeNodeMoveTo, ...) event.Handle
- func BindEventTreeNodeRemoveChild(auto iAutoEventTreeNodeRemoveChild, subscriber EventTreeNodeRemoveChild, ...) event.Handle
- func UnsafeComponent(comp Component) _UnsafeComponentdeprecated
- func UnsafeConcurrentEntity(entity ConcurrentEntity) _UnsafeConcurrentEntitydeprecated
- func UnsafeEntity(entity Entity) _UnsafeEntitydeprecated
- type BuiltinComponent
- type Component
- type ComponentBehavior
- func (comp *ComponentBehavior) Builtin() BuiltinComponent
- func (comp *ComponentBehavior) ConcurrentContext() iface.Cache
- func (comp *ComponentBehavior) CurrentContext() iface.Cache
- func (comp *ComponentBehavior) Destroy()
- func (comp *ComponentBehavior) Enabled() bool
- func (comp *ComponentBehavior) Entity() Entity
- func (comp *ComponentBehavior) EventComponentDestroy() event.IEvent
- func (comp *ComponentBehavior) EventComponentEnableChanged() event.IEvent
- func (comp *ComponentBehavior) Id() id.Id
- func (comp *ComponentBehavior) Managed() *event.ManagedHandles
- func (comp *ComponentBehavior) Name() string
- func (comp *ComponentBehavior) Reflected() reflect.Value
- func (comp *ComponentBehavior) Removable() bool
- func (comp *ComponentBehavior) SetEnabled(b bool)
- func (comp *ComponentBehavior) State() ComponentState
- func (comp *ComponentBehavior) String() string
- type ComponentPT
- type ComponentState
- type ConcurrentEntity
- type Entity
- type EntityBehavior
- func (entity *EntityBehavior) AddComponent(name string, components ...Component) error
- func (entity *EntityBehavior) ConcurrentContext() iface.Cache
- func (entity *EntityBehavior) CountComponents() int
- func (entity *EntityBehavior) CurrentContext() iface.Cache
- func (entity *EntityBehavior) Destroy()
- func (entity *EntityBehavior) EachComponents(fun generic.Action1[Component])
- func (entity *EntityBehavior) EventComponentManagerAddComponents() event.IEvent
- func (entity *EntityBehavior) EventComponentManagerComponentEnableChanged() event.IEvent
- func (entity *EntityBehavior) EventComponentManagerFirstTouchComponent() event.IEvent
- func (entity *EntityBehavior) EventComponentManagerRemoveComponent() event.IEvent
- func (entity *EntityBehavior) EventEntityDestroy() event.IEvent
- func (entity *EntityBehavior) EventTreeNodeAddChild() event.IEvent
- func (entity *EntityBehavior) EventTreeNodeAttachParent() event.IEvent
- func (entity *EntityBehavior) EventTreeNodeDetachParent() event.IEvent
- func (entity *EntityBehavior) EventTreeNodeMoveTo() event.IEvent
- func (entity *EntityBehavior) EventTreeNodeRemoveChild() event.IEvent
- func (entity *EntityBehavior) FilterComponents(fun generic.Func1[Component, bool]) []Component
- func (entity *EntityBehavior) GetComponent(name string) Component
- func (entity *EntityBehavior) GetComponentById(id id.Id) Component
- func (entity *EntityBehavior) GetComponentByPT(prototype string) Component
- func (entity *EntityBehavior) GetComponents(name string) []Component
- func (entity *EntityBehavior) GetComponentsByPT(prototype string) []Component
- func (entity *EntityBehavior) Id() id.Id
- func (entity *EntityBehavior) InstanceFaceCache() iface.Cache
- func (entity *EntityBehavior) ListComponents() []Component
- func (entity *EntityBehavior) Managed() *event.ManagedHandles
- func (entity *EntityBehavior) Meta() meta.Meta
- func (entity *EntityBehavior) PT() EntityPT
- func (entity *EntityBehavior) RangeComponents(fun generic.Func1[Component, bool])
- func (entity *EntityBehavior) Reflected() reflect.Value
- func (entity *EntityBehavior) RemoveComponent(name string)
- func (entity *EntityBehavior) RemoveComponentById(id id.Id)
- func (entity *EntityBehavior) RemoveComponentByPT(prototype string)
- func (entity *EntityBehavior) ReversedEachComponents(fun generic.Action1[Component])
- func (entity *EntityBehavior) ReversedRangeComponents(fun generic.Func1[Component, bool])
- func (entity *EntityBehavior) State() EntityState
- func (entity *EntityBehavior) String() string
- func (entity *EntityBehavior) Terminated() async.AsyncRet
- func (entity *EntityBehavior) TreeNodeState() TreeNodeState
- type EntityOptions
- type EntityPT
- type EntityState
- type EventComponentDestroy
- type EventComponentDestroyHandler
- type EventComponentEnableChanged
- type EventComponentEnableChangedHandler
- type EventComponentManagerAddComponents
- type EventComponentManagerAddComponentsHandler
- type EventComponentManagerComponentEnableChanged
- type EventComponentManagerComponentEnableChangedHandler
- type EventComponentManagerFirstTouchComponent
- type EventComponentManagerFirstTouchComponentHandler
- type EventComponentManagerRemoveComponent
- type EventComponentManagerRemoveComponentHandler
- type EventEntityDestroy
- type EventEntityDestroyHandler
- type EventTreeNodeAddChild
- type EventTreeNodeAddChildHandler
- type EventTreeNodeAttachParent
- type EventTreeNodeAttachParentHandler
- type EventTreeNodeDetachParent
- type EventTreeNodeDetachParentHandler
- type EventTreeNodeMoveTo
- type EventTreeNodeMoveToHandler
- type EventTreeNodeRemoveChild
- type EventTreeNodeRemoveChildHandler
- type IComponentEventTab
- type IEntityComponentManagerEventTab
- type IEntityEventTab
- type IEntityTreeNodeEventTab
- type TreeNodeState
Constants ¶
This section is empty.
Variables ¶
var ( EventComponentEnableChangedId = event.DeclareEventIdT[componentEventTab](0) EventComponentDestroyId = event.DeclareEventIdT[componentEventTab](1) )
var ( EventComponentManagerAddComponentsId = event.DeclareEventIdT[entityComponentManagerEventTab](0) EventComponentManagerRemoveComponentId = event.DeclareEventIdT[entityComponentManagerEventTab](1) EventComponentManagerComponentEnableChangedId = event.DeclareEventIdT[entityComponentManagerEventTab](2) EventComponentManagerFirstTouchComponentId = event.DeclareEventIdT[entityComponentManagerEventTab](3) )
var ( EventTreeNodeAddChildId = event.DeclareEventIdT[entityTreeNodeEventTab](0) EventTreeNodeRemoveChildId = event.DeclareEventIdT[entityTreeNodeEventTab](1) EventTreeNodeAttachParentId = event.DeclareEventIdT[entityTreeNodeEventTab](2) EventTreeNodeDetachParentId = event.DeclareEventIdT[entityTreeNodeEventTab](3) EventTreeNodeMoveToId = event.DeclareEventIdT[entityTreeNodeEventTab](4) )
var (
ErrEC = fmt.Errorf("%w: ec", exception.ErrTiny) // EC错误
)
var (
EventEntityDestroyId = event.DeclareEventIdT[entityEventTab](0)
)
var With _EntityOption
Functions ¶
func BindEventComponentDestroy ¶ added in v0.1.52
func BindEventComponentDestroy(auto iAutoEventComponentDestroy, subscriber EventComponentDestroy, priority ...int32) event.Handle
func BindEventComponentEnableChanged ¶ added in v0.1.52
func BindEventComponentEnableChanged(auto iAutoEventComponentEnableChanged, subscriber EventComponentEnableChanged, priority ...int32) event.Handle
func BindEventComponentManagerAddComponents ¶ added in v0.1.52
func BindEventComponentManagerAddComponents(auto iAutoEventComponentManagerAddComponents, subscriber EventComponentManagerAddComponents, priority ...int32) event.Handle
func BindEventComponentManagerComponentEnableChanged ¶ added in v0.1.52
func BindEventComponentManagerComponentEnableChanged(auto iAutoEventComponentManagerComponentEnableChanged, subscriber EventComponentManagerComponentEnableChanged, priority ...int32) event.Handle
func BindEventComponentManagerFirstTouchComponent ¶ added in v0.1.52
func BindEventComponentManagerFirstTouchComponent(auto iAutoEventComponentManagerFirstTouchComponent, subscriber EventComponentManagerFirstTouchComponent, priority ...int32) event.Handle
func BindEventComponentManagerRemoveComponent ¶ added in v0.1.52
func BindEventComponentManagerRemoveComponent(auto iAutoEventComponentManagerRemoveComponent, subscriber EventComponentManagerRemoveComponent, priority ...int32) event.Handle
func BindEventEntityDestroy ¶ added in v0.1.52
func BindEventEntityDestroy(auto iAutoEventEntityDestroy, subscriber EventEntityDestroy, priority ...int32) event.Handle
func BindEventTreeNodeAddChild ¶
func BindEventTreeNodeAddChild(auto iAutoEventTreeNodeAddChild, subscriber EventTreeNodeAddChild, priority ...int32) event.Handle
func BindEventTreeNodeAttachParent ¶ added in v0.1.52
func BindEventTreeNodeAttachParent(auto iAutoEventTreeNodeAttachParent, subscriber EventTreeNodeAttachParent, priority ...int32) event.Handle
func BindEventTreeNodeDetachParent ¶ added in v0.1.52
func BindEventTreeNodeDetachParent(auto iAutoEventTreeNodeDetachParent, subscriber EventTreeNodeDetachParent, priority ...int32) event.Handle
func BindEventTreeNodeMoveTo ¶ added in v0.1.52
func BindEventTreeNodeMoveTo(auto iAutoEventTreeNodeMoveTo, subscriber EventTreeNodeMoveTo, priority ...int32) event.Handle
func BindEventTreeNodeRemoveChild ¶
func BindEventTreeNodeRemoveChild(auto iAutoEventTreeNodeRemoveChild, subscriber EventTreeNodeRemoveChild, priority ...int32) event.Handle
func UnsafeComponent
deprecated
func UnsafeComponent(comp Component) _UnsafeComponent
Deprecated: UnsafeComponent 访问组件内部函数
func UnsafeConcurrentEntity
deprecated
added in
v0.1.52
func UnsafeConcurrentEntity(entity ConcurrentEntity) _UnsafeConcurrentEntity
Deprecated: UnsafeConcurrentEntity 访问多线程安全的实体接口内部函数
func UnsafeEntity
deprecated
func UnsafeEntity(entity Entity) _UnsafeEntity
Deprecated: UnsafeEntity 访问实体内部函数
Types ¶
type BuiltinComponent ¶ added in v0.1.52
type BuiltinComponent struct {
PT ComponentPT // 组件原型
Offset int // 组件位置
Name string // 组件名称
Removable bool // 可以删除
Meta meta.Meta // 原型Meta信息
}
BuiltinComponent 实体原型中的组件信息
func (BuiltinComponent) MarshalJSON ¶ added in v0.1.52
func (bc BuiltinComponent) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
func (BuiltinComponent) String ¶ added in v0.1.52
func (bc BuiltinComponent) String() string
String implements fmt.Stringer
type Component ¶
type Component interface {
corectx.CurrentContextProvider
fmt.Stringer
// Id 获取组件Id
Id() id.Id
// Builtin 获取实体原型中的组件信息
Builtin() BuiltinComponent
// Name 获取组件名称
Name() string
// Entity 获取组件依附的实体
Entity() Entity
// State 获取组件状态
State() ComponentState
// Reflected 获取反射值
Reflected() reflect.Value
// Removable 是否可以删除
Removable() bool
// Enabled 获取组件是否启用
Enabled() bool
// SetEnabled 设置组件是否启用
SetEnabled(b bool)
// Managed 托管事件句柄
Managed() *event.ManagedHandles
// Destroy 销毁
Destroy()
IComponentEventTab
// contains filtered or unexported methods
}
Component 组件接口
type ComponentBehavior ¶
type ComponentBehavior struct {
// contains filtered or unexported fields
}
ComponentBehavior 组件行为,在开发新组件时,匿名嵌入至组件结构体中
func (*ComponentBehavior) Builtin ¶ added in v0.1.52
func (comp *ComponentBehavior) Builtin() BuiltinComponent
Builtin 获取实体原型中的组件信息
func (*ComponentBehavior) ConcurrentContext ¶ added in v0.1.52
func (comp *ComponentBehavior) ConcurrentContext() iface.Cache
ConcurrentContext 获取多线程安全的上下文
func (*ComponentBehavior) CurrentContext ¶ added in v0.1.52
func (comp *ComponentBehavior) CurrentContext() iface.Cache
CurrentContext 获取当前上下文
func (*ComponentBehavior) Destroy ¶ added in v0.1.52
func (comp *ComponentBehavior) Destroy()
Destroy 销毁
func (*ComponentBehavior) Enabled ¶ added in v0.1.52
func (comp *ComponentBehavior) Enabled() bool
Enabled 获取组件是否启用
func (*ComponentBehavior) Entity ¶ added in v0.1.52
func (comp *ComponentBehavior) Entity() Entity
Entity 获取组件依附的实体
func (*ComponentBehavior) EventComponentDestroy ¶ added in v0.1.52
func (comp *ComponentBehavior) EventComponentDestroy() event.IEvent
EventComponentDestroy 事件:组件销毁
func (*ComponentBehavior) EventComponentEnableChanged ¶ added in v0.1.52
func (comp *ComponentBehavior) EventComponentEnableChanged() event.IEvent
EventComponentEnableChanged 事件:组件启用状态改变
func (*ComponentBehavior) Managed ¶ added in v0.1.52
func (comp *ComponentBehavior) Managed() *event.ManagedHandles
Managed 获取托管事件句柄
func (*ComponentBehavior) Name ¶ added in v0.1.52
func (comp *ComponentBehavior) Name() string
Name 获取组件名称
func (*ComponentBehavior) Reflected ¶ added in v0.1.52
func (comp *ComponentBehavior) Reflected() reflect.Value
Reflected 获取反射值
func (*ComponentBehavior) Removable ¶ added in v0.1.52
func (comp *ComponentBehavior) Removable() bool
Removable 是否可以删除
func (*ComponentBehavior) SetEnabled ¶ added in v0.1.52
func (comp *ComponentBehavior) SetEnabled(b bool)
SetEnabled 设置组件是否启用
func (*ComponentBehavior) State ¶ added in v0.1.52
func (comp *ComponentBehavior) State() ComponentState
State 获取组件状态
func (*ComponentBehavior) String ¶
func (comp *ComponentBehavior) String() string
String implements fmt.Stringer
type ComponentPT ¶ added in v0.1.52
type ComponentPT interface {
fmt.Stringer
// Prototype 组件原型名称
Prototype() string
// InstanceRT 组件实例反射类型
InstanceRT() reflect.Type
// Construct 创建组件
Construct() Component
}
ComponentPT 组件原型接口
type ComponentState ¶
type ComponentState int8
ComponentState 组件状态
const ( ComponentState_Birth ComponentState = iota // 出生 ComponentState_Attach // 附着 ComponentState_Awake // 唤醒 ComponentState_Enable // 启用 ComponentState_Idle // 空闲 ComponentState_Start // 开始 ComponentState_Alive // 活跃 ComponentState_Detach // 脱离 ComponentState_Shut // 结束 ComponentState_Disable // 禁用 ComponentState_Death // 死亡 ComponentState_Destroyed // 已销毁 )
func (ComponentState) String ¶
func (i ComponentState) String() string
type ConcurrentEntity ¶
type ConcurrentEntity interface {
corectx.ConcurrentContextProvider
fmt.Stringer
// Id 获取实体Id
Id() id.Id
// PT 获取实体原型信息
PT() EntityPT
// contains filtered or unexported methods
}
ConcurrentEntity 多线程安全的实体接口
type Entity ¶
type Entity interface {
corectx.CurrentContextProvider
reinterpret.InstanceProvider
fmt.Stringer
// Id 获取实体Id
Id() id.Id
// PT 获取实体原型信息
PT() EntityPT
// State 获取实体状态
State() EntityState
// Reflected 获取反射值
Reflected() reflect.Value
// Meta 获取Meta信息
Meta() meta.Meta
// Managed 托管事件句柄
Managed() *event.ManagedHandles
// Destroy 销毁
Destroy()
IEntityEventTab
// contains filtered or unexported methods
}
Entity 实体接口
func UnsafeNewEntity
deprecated
func UnsafeNewEntity(options EntityOptions) Entity
Deprecated: UnsafeNewEntity 内部创建实体
type EntityBehavior ¶
EntityBehavior 实体行为,在扩展实体能力时,匿名嵌入至实体结构体中
func (*EntityBehavior) AddComponent ¶
func (entity *EntityBehavior) AddComponent(name string, components ...Component) error
AddComponent 添加组件,允许组件同名
func (*EntityBehavior) ConcurrentContext ¶ added in v0.1.52
func (entity *EntityBehavior) ConcurrentContext() iface.Cache
ConcurrentContext 解析线程安全的上下文
func (*EntityBehavior) CountComponents ¶
func (entity *EntityBehavior) CountComponents() int
CountComponents 统计所有组件数量
func (*EntityBehavior) CurrentContext ¶ added in v0.1.52
func (entity *EntityBehavior) CurrentContext() iface.Cache
CurrentContext 获取当前上下文
func (*EntityBehavior) Destroy ¶ added in v0.1.52
func (entity *EntityBehavior) Destroy()
Destroy 销毁
func (*EntityBehavior) EachComponents ¶ added in v0.1.52
func (entity *EntityBehavior) EachComponents(fun generic.Action1[Component])
EachComponents 遍历每个组件
func (*EntityBehavior) EventComponentManagerAddComponents ¶ added in v0.1.52
func (entity *EntityBehavior) EventComponentManagerAddComponents() event.IEvent
EventComponentManagerAddComponents 事件:实体的组件管理器添加组件
func (*EntityBehavior) EventComponentManagerComponentEnableChanged ¶ added in v0.1.52
func (entity *EntityBehavior) EventComponentManagerComponentEnableChanged() event.IEvent
EventComponentManagerComponentEnableChanged 事件:实体组件管理器中的组件启用状态改变
func (*EntityBehavior) EventComponentManagerFirstTouchComponent ¶ added in v0.1.52
func (entity *EntityBehavior) EventComponentManagerFirstTouchComponent() event.IEvent
EventComponentManagerFirstTouchComponent 事件:实体的组件管理器首次访问组件
func (*EntityBehavior) EventComponentManagerRemoveComponent ¶ added in v0.1.52
func (entity *EntityBehavior) EventComponentManagerRemoveComponent() event.IEvent
EventComponentManagerRemoveComponent 事件:实体的组件管理器删除组件
func (*EntityBehavior) EventEntityDestroy ¶ added in v0.1.52
func (entity *EntityBehavior) EventEntityDestroy() event.IEvent
EventEntityDestroy 事件:实体销毁
func (*EntityBehavior) EventTreeNodeAddChild ¶
func (entity *EntityBehavior) EventTreeNodeAddChild() event.IEvent
EventTreeNodeAddChild 事件:实体节点添加子实体
func (*EntityBehavior) EventTreeNodeAttachParent ¶ added in v0.1.52
func (entity *EntityBehavior) EventTreeNodeAttachParent() event.IEvent
EventTreeNodeAttachParent 事件:实体加入父实体节点
func (*EntityBehavior) EventTreeNodeDetachParent ¶ added in v0.1.52
func (entity *EntityBehavior) EventTreeNodeDetachParent() event.IEvent
EventTreeNodeDetachParent 事件:实体离开父实体节点
func (*EntityBehavior) EventTreeNodeMoveTo ¶ added in v0.1.52
func (entity *EntityBehavior) EventTreeNodeMoveTo() event.IEvent
EventTreeNodeMoveTo 事件:实体切换父节点
func (*EntityBehavior) EventTreeNodeRemoveChild ¶
func (entity *EntityBehavior) EventTreeNodeRemoveChild() event.IEvent
EventTreeNodeRemoveChild 事件:实体节点删除子实体
func (*EntityBehavior) FilterComponents ¶
FilterComponents 过滤并获取组件
func (*EntityBehavior) GetComponent ¶
func (entity *EntityBehavior) GetComponent(name string) Component
GetComponent 使用名称查询组件,组件同名时,返回首个组件,不存在时返回nil
func (*EntityBehavior) GetComponentById ¶
func (entity *EntityBehavior) GetComponentById(id id.Id) Component
GetComponentById 使用组件Id查询组件,不存在时返回nil
func (*EntityBehavior) GetComponentByPT ¶ added in v0.1.52
func (entity *EntityBehavior) GetComponentByPT(prototype string) Component
GetComponentByPT 使用组件原型查询组件,组件同原型时,返回首个组件,不存在时返回nil
func (*EntityBehavior) GetComponents ¶
func (entity *EntityBehavior) GetComponents(name string) []Component
GetComponents 使用名称查询同名组件
func (*EntityBehavior) GetComponentsByPT ¶ added in v0.1.52
func (entity *EntityBehavior) GetComponentsByPT(prototype string) []Component
GetComponentsByPT 使用组件原型查询同原型组件
func (*EntityBehavior) InstanceFaceCache ¶ added in v0.1.52
func (entity *EntityBehavior) InstanceFaceCache() iface.Cache
InstanceFaceCache 支持重新解释类型
func (*EntityBehavior) ListComponents ¶ added in v0.1.52
func (entity *EntityBehavior) ListComponents() []Component
ListComponents 获取所有组件
func (*EntityBehavior) Managed ¶ added in v0.1.52
func (entity *EntityBehavior) Managed() *event.ManagedHandles
Managed 托管事件句柄
func (*EntityBehavior) Meta ¶ added in v0.1.52
func (entity *EntityBehavior) Meta() meta.Meta
Meta 获取Meta信息
func (*EntityBehavior) RangeComponents ¶
func (entity *EntityBehavior) RangeComponents(fun generic.Func1[Component, bool])
RangeComponents 遍历所有组件
func (*EntityBehavior) Reflected ¶ added in v0.1.52
func (entity *EntityBehavior) Reflected() reflect.Value
Reflected 获取反射值
func (*EntityBehavior) RemoveComponent ¶
func (entity *EntityBehavior) RemoveComponent(name string)
RemoveComponent 使用名称删除组件,同名组件均会删除
func (*EntityBehavior) RemoveComponentById ¶
func (entity *EntityBehavior) RemoveComponentById(id id.Id)
RemoveComponentById 使用组件Id删除组件
func (*EntityBehavior) RemoveComponentByPT ¶ added in v0.1.52
func (entity *EntityBehavior) RemoveComponentByPT(prototype string)
RemoveComponentByPT 使用组件原型删除组件,同原型组件均会删除
func (*EntityBehavior) ReversedEachComponents ¶ added in v0.1.52
func (entity *EntityBehavior) ReversedEachComponents(fun generic.Action1[Component])
ReversedEachComponents 反向遍历每个组件
func (*EntityBehavior) ReversedRangeComponents ¶
func (entity *EntityBehavior) ReversedRangeComponents(fun generic.Func1[Component, bool])
ReversedRangeComponents 反向遍历所有组件
func (*EntityBehavior) State ¶ added in v0.1.52
func (entity *EntityBehavior) State() EntityState
State 获取实体状态
func (*EntityBehavior) String ¶
func (entity *EntityBehavior) String() string
String implements fmt.Stringer
func (*EntityBehavior) Terminated ¶ added in v0.1.52
func (entity *EntityBehavior) Terminated() async.AsyncRet
Terminated 已停止
func (*EntityBehavior) TreeNodeState ¶ added in v0.1.52
func (entity *EntityBehavior) TreeNodeState() TreeNodeState
TreeNodeState 获取实体树节点状态
type EntityOptions ¶
type EntityOptions struct {
InstanceFace iface.Face[Entity] // 实例,用于扩展实体能力
ComponentAwakeOnFirstTouch bool // 当实体组件首次被访问时,生命周期是否进入唤醒(Awake)
Meta meta.Meta // Meta信息
}
EntityOptions 创建实体的所有选项
type EntityPT ¶ added in v0.1.52
type EntityPT interface {
fmt.Stringer
// Prototype 实体原型名称
Prototype() string
// InstanceRT 实体实例反射类型
InstanceRT() reflect.Type
// ComponentAwakeOnFirstTouch 当实体组件首次被访问时,生命周期是否进入唤醒(Awake)
ComponentAwakeOnFirstTouch() bool
// Meta 原型Meta信息
Meta() meta.Meta
// CountComponents 组件数量
CountComponents() int
// GetComponent 获取组件
GetComponent(idx int) BuiltinComponent
// ListComponents 获取所有组件
ListComponents() []BuiltinComponent
// Construct 创建实体
Construct(settings ...option.Setting[EntityOptions]) Entity
}
EntityPT 实体原型接口
type EntityState ¶
type EntityState int8
EntityState 实体状态
const ( EntityState_Birth EntityState = iota // 出生 EntityState_Enter // 进入容器 EntityState_Awake // 唤醒 EntityState_Start // 开始 EntityState_Alive // 活跃 EntityState_Leave // 离开容器 EntityState_Shut // 结束 EntityState_Death // 死亡 EntityState_Destroyed // 已销毁 )
func (EntityState) String ¶
func (i EntityState) String() string
type EventComponentDestroy ¶ added in v0.1.52
type EventComponentDestroy interface {
OnComponentDestroy(comp Component)
}
EventComponentDestroy 事件:组件销毁 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentDestroyHandler ¶ added in v0.1.52
type EventComponentDestroyHandler func(comp Component)
func HandleEventComponentDestroy ¶ added in v0.1.52
func HandleEventComponentDestroy(fun func(comp Component)) EventComponentDestroyHandler
func (EventComponentDestroyHandler) OnComponentDestroy ¶ added in v0.1.52
func (h EventComponentDestroyHandler) OnComponentDestroy(comp Component)
type EventComponentEnableChanged ¶ added in v0.1.52
type EventComponentEnableChanged interface {
OnComponentEnableChanged(comp Component, enable bool)
}
EventComponentEnableChanged 事件:组件启用状态改变 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentEnableChangedHandler ¶ added in v0.1.52
func HandleEventComponentEnableChanged ¶ added in v0.1.52
func HandleEventComponentEnableChanged(fun func(comp Component, enable bool)) EventComponentEnableChangedHandler
func (EventComponentEnableChangedHandler) OnComponentEnableChanged ¶ added in v0.1.52
func (h EventComponentEnableChangedHandler) OnComponentEnableChanged(comp Component, enable bool)
type EventComponentManagerAddComponents ¶ added in v0.1.52
type EventComponentManagerAddComponents interface {
OnComponentManagerAddComponents(entity Entity, components []Component)
}
EventComponentManagerAddComponents 事件:实体的组件管理器添加组件 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentManagerAddComponentsHandler ¶ added in v0.1.52
func HandleEventComponentManagerAddComponents ¶ added in v0.1.52
func HandleEventComponentManagerAddComponents(fun func(entity Entity, components []Component)) EventComponentManagerAddComponentsHandler
func (EventComponentManagerAddComponentsHandler) OnComponentManagerAddComponents ¶ added in v0.1.52
func (h EventComponentManagerAddComponentsHandler) OnComponentManagerAddComponents(entity Entity, components []Component)
type EventComponentManagerComponentEnableChanged ¶ added in v0.1.52
type EventComponentManagerComponentEnableChanged interface {
OnComponentManagerComponentEnableChanged(entity Entity, component Component, enable bool)
}
EventComponentManagerComponentEnableChanged 事件:实体组件管理器中的组件启用状态改变 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentManagerComponentEnableChangedHandler ¶ added in v0.1.52
type EventComponentManagerComponentEnableChangedHandler func(entity Entity, component Component, enable bool)
func HandleEventComponentManagerComponentEnableChanged ¶ added in v0.1.52
func HandleEventComponentManagerComponentEnableChanged(fun func(entity Entity, component Component, enable bool)) EventComponentManagerComponentEnableChangedHandler
func (EventComponentManagerComponentEnableChangedHandler) OnComponentManagerComponentEnableChanged ¶ added in v0.1.52
func (h EventComponentManagerComponentEnableChangedHandler) OnComponentManagerComponentEnableChanged(entity Entity, component Component, enable bool)
type EventComponentManagerFirstTouchComponent ¶ added in v0.1.52
type EventComponentManagerFirstTouchComponent interface {
OnComponentManagerFirstTouchComponent(entity Entity, component Component)
}
EventComponentManagerFirstTouchComponent 事件:实体的组件管理器首次访问组件 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentManagerFirstTouchComponentHandler ¶ added in v0.1.52
func HandleEventComponentManagerFirstTouchComponent ¶ added in v0.1.52
func HandleEventComponentManagerFirstTouchComponent(fun func(entity Entity, component Component)) EventComponentManagerFirstTouchComponentHandler
func (EventComponentManagerFirstTouchComponentHandler) OnComponentManagerFirstTouchComponent ¶ added in v0.1.52
func (h EventComponentManagerFirstTouchComponentHandler) OnComponentManagerFirstTouchComponent(entity Entity, component Component)
type EventComponentManagerRemoveComponent ¶ added in v0.1.52
type EventComponentManagerRemoveComponent interface {
OnComponentManagerRemoveComponent(entity Entity, component Component)
}
EventComponentManagerRemoveComponent 事件:实体的组件管理器删除组件 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventComponentManagerRemoveComponentHandler ¶ added in v0.1.52
func HandleEventComponentManagerRemoveComponent ¶ added in v0.1.52
func HandleEventComponentManagerRemoveComponent(fun func(entity Entity, component Component)) EventComponentManagerRemoveComponentHandler
func (EventComponentManagerRemoveComponentHandler) OnComponentManagerRemoveComponent ¶ added in v0.1.52
func (h EventComponentManagerRemoveComponentHandler) OnComponentManagerRemoveComponent(entity Entity, component Component)
type EventEntityDestroy ¶ added in v0.1.52
type EventEntityDestroy interface {
OnEntityDestroy(entity Entity)
}
EventEntityDestroy 事件:实体销毁 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventEntityDestroyHandler ¶ added in v0.1.52
type EventEntityDestroyHandler func(entity Entity)
func HandleEventEntityDestroy ¶ added in v0.1.52
func HandleEventEntityDestroy(fun func(entity Entity)) EventEntityDestroyHandler
func (EventEntityDestroyHandler) OnEntityDestroy ¶ added in v0.1.52
func (h EventEntityDestroyHandler) OnEntityDestroy(entity Entity)
type EventTreeNodeAddChild ¶
EventTreeNodeAddChild 事件:实体节点添加子实体 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventTreeNodeAddChildHandler ¶
func HandleEventTreeNodeAddChild ¶
func HandleEventTreeNodeAddChild(fun func(entity Entity, childId id.Id)) EventTreeNodeAddChildHandler
func (EventTreeNodeAddChildHandler) OnTreeNodeAddChild ¶
func (h EventTreeNodeAddChildHandler) OnTreeNodeAddChild(entity Entity, childId id.Id)
type EventTreeNodeAttachParent ¶ added in v0.1.52
EventTreeNodeAttachParent 事件:实体加入父实体节点 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventTreeNodeAttachParentHandler ¶ added in v0.1.52
func HandleEventTreeNodeAttachParent ¶ added in v0.1.52
func HandleEventTreeNodeAttachParent(fun func(entity Entity, parentId id.Id)) EventTreeNodeAttachParentHandler
func (EventTreeNodeAttachParentHandler) OnTreeNodeAttachParent ¶ added in v0.1.52
func (h EventTreeNodeAttachParentHandler) OnTreeNodeAttachParent(entity Entity, parentId id.Id)
type EventTreeNodeDetachParent ¶ added in v0.1.52
EventTreeNodeDetachParent 事件:实体离开父实体节点 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventTreeNodeDetachParentHandler ¶ added in v0.1.52
func HandleEventTreeNodeDetachParent ¶ added in v0.1.52
func HandleEventTreeNodeDetachParent(fun func(entity Entity, parentId id.Id)) EventTreeNodeDetachParentHandler
func (EventTreeNodeDetachParentHandler) OnTreeNodeDetachParent ¶ added in v0.1.52
func (h EventTreeNodeDetachParentHandler) OnTreeNodeDetachParent(entity Entity, parentId id.Id)
type EventTreeNodeMoveTo ¶ added in v0.1.52
type EventTreeNodeMoveTo interface {
OnTreeNodeMoveTo(entity Entity, fromParentId, toParentId id.Id)
}
EventTreeNodeMoveTo 事件:实体切换父节点 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventTreeNodeMoveToHandler ¶ added in v0.1.52
func HandleEventTreeNodeMoveTo ¶ added in v0.1.52
func HandleEventTreeNodeMoveTo(fun func(entity Entity, fromParentId, toParentId id.Id)) EventTreeNodeMoveToHandler
func (EventTreeNodeMoveToHandler) OnTreeNodeMoveTo ¶ added in v0.1.52
func (h EventTreeNodeMoveToHandler) OnTreeNodeMoveTo(entity Entity, fromParentId, toParentId id.Id)
type EventTreeNodeRemoveChild ¶
EventTreeNodeRemoveChild 事件:实体节点删除子实体 +event-gen:export_emit=0 +event-tab-gen:recursion=allow
type EventTreeNodeRemoveChildHandler ¶
func HandleEventTreeNodeRemoveChild ¶
func HandleEventTreeNodeRemoveChild(fun func(entity Entity, childId id.Id)) EventTreeNodeRemoveChildHandler
func (EventTreeNodeRemoveChildHandler) OnTreeNodeRemoveChild ¶
func (h EventTreeNodeRemoveChildHandler) OnTreeNodeRemoveChild(entity Entity, childId id.Id)
type IComponentEventTab ¶ added in v0.1.52
type IEntityComponentManagerEventTab ¶ added in v0.1.52
type IEntityEventTab ¶ added in v0.1.52
type IEntityTreeNodeEventTab ¶ added in v0.1.52
type TreeNodeState ¶
type TreeNodeState int8
TreeNodeState 实体树节点状态
const ( TreeNodeState_Freedom TreeNodeState = iota // 自由实体 TreeNodeState_Attaching // 正在加入实体树 TreeNodeState_Attached // 在实体树中 TreeNodeState_Detaching // 正在脱离实体树 TreeNodeState_Moving // 正在移动实体父节点 )
func (TreeNodeState) String ¶
func (i TreeNodeState) String() string
Source Files
¶
- component.go
- component_event.gen.go
- component_event.go
- component_eventtab.gen.go
- componentstate.go
- componentstate_string.go
- entity.go
- entity_componentmanager.go
- entity_componentmanager_event.gen.go
- entity_componentmanager_event.go
- entity_componentmanager_eventtab.gen.go
- entity_concurrent.go
- entity_event.gen.go
- entity_event.go
- entity_eventtab.gen.go
- entity_options.go
- entity_treenode.go
- entity_treenode_event.gen.go
- entity_treenode_event.go
- entity_treenode_eventtab.gen.go
- entitystate.go
- entitystate_string.go
- errors.go
- prototype.go
- treenodestate.go
- treenodestate_string.go
- unsafe_component.go
- unsafe_concurrententity.go
- unsafe_entity.go