ec

package
v0.1.53 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: LGPL-2.1 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EventComponentEnableChangedId = event.DeclareEventIdT[componentEventTab](0)
	EventComponentDestroyId       = event.DeclareEventIdT[componentEventTab](1)
)
View Source
var (
	EventComponentManagerAddComponentsId          = event.DeclareEventIdT[entityComponentManagerEventTab](0)
	EventComponentManagerRemoveComponentId        = event.DeclareEventIdT[entityComponentManagerEventTab](1)
	EventComponentManagerComponentEnableChangedId = event.DeclareEventIdT[entityComponentManagerEventTab](2)
	EventComponentManagerFirstTouchComponentId    = event.DeclareEventIdT[entityComponentManagerEventTab](3)
)
View Source
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)
)
View Source
var (
	ErrEC = fmt.Errorf("%w: ec", exception.ErrTiny) // EC错误
)
View Source
var (
	EventEntityDestroyId = event.DeclareEventIdT[entityEventTab](0)
)
View Source
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) Id added in v0.1.52

func (comp *ComponentBehavior) Id() id.Id

Id 获取组件Id

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 NewEntity

func NewEntity(settings ...option.Setting[EntityOptions]) Entity

NewEntity 创建实体

func UnsafeNewEntity deprecated

func UnsafeNewEntity(options EntityOptions) Entity

Deprecated: UnsafeNewEntity 内部创建实体

type EntityBehavior

type EntityBehavior struct {
	context.Context
	// contains filtered or unexported fields
}

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

func (entity *EntityBehavior) FilterComponents(fun generic.Func1[Component, bool]) []Component

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) Id added in v0.1.52

func (entity *EntityBehavior) Id() id.Id

Id 获取实体Id

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) PT added in v0.1.52

func (entity *EntityBehavior) PT() EntityPT

PT 获取实体原型

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

type EventComponentEnableChangedHandler func(comp Component, enable bool)

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

type EventComponentManagerAddComponentsHandler func(entity Entity, components []Component)

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

type EventComponentManagerFirstTouchComponentHandler func(entity Entity, component Component)

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

type EventComponentManagerRemoveComponentHandler func(entity Entity, component Component)

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

type EventTreeNodeAddChild interface {
	OnTreeNodeAddChild(entity Entity, childId id.Id)
}

EventTreeNodeAddChild 事件:实体节点添加子实体 +event-gen:export_emit=0 +event-tab-gen:recursion=allow

type EventTreeNodeAddChildHandler

type EventTreeNodeAddChildHandler func(entity Entity, childId id.Id)

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

type EventTreeNodeAttachParent interface {
	OnTreeNodeAttachParent(entity Entity, parentId id.Id)
}

EventTreeNodeAttachParent 事件:实体加入父实体节点 +event-gen:export_emit=0 +event-tab-gen:recursion=allow

type EventTreeNodeAttachParentHandler added in v0.1.52

type EventTreeNodeAttachParentHandler func(entity Entity, parentId id.Id)

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

type EventTreeNodeDetachParent interface {
	OnTreeNodeDetachParent(entity Entity, parentId id.Id)
}

EventTreeNodeDetachParent 事件:实体离开父实体节点 +event-gen:export_emit=0 +event-tab-gen:recursion=allow

type EventTreeNodeDetachParentHandler added in v0.1.52

type EventTreeNodeDetachParentHandler func(entity Entity, parentId id.Id)

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

type EventTreeNodeMoveToHandler func(entity Entity, fromParentId, toParentId id.Id)

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

type EventTreeNodeRemoveChild interface {
	OnTreeNodeRemoveChild(entity Entity, childId id.Id)
}

EventTreeNodeRemoveChild 事件:实体节点删除子实体 +event-gen:export_emit=0 +event-tab-gen:recursion=allow

type EventTreeNodeRemoveChildHandler

type EventTreeNodeRemoveChildHandler func(entity Entity, childId id.Id)

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 IComponentEventTab interface {
	EventComponentEnableChanged() event.IEvent
	EventComponentDestroy() event.IEvent
}

type IEntityComponentManagerEventTab added in v0.1.52

type IEntityComponentManagerEventTab interface {
	EventComponentManagerAddComponents() event.IEvent
	EventComponentManagerRemoveComponent() event.IEvent
	EventComponentManagerComponentEnableChanged() event.IEvent
	EventComponentManagerFirstTouchComponent() event.IEvent
}

type IEntityEventTab added in v0.1.52

type IEntityEventTab interface {
	EventEntityDestroy() event.IEvent
}

type IEntityTreeNodeEventTab added in v0.1.52

type IEntityTreeNodeEventTab interface {
	EventTreeNodeAddChild() event.IEvent
	EventTreeNodeRemoveChild() event.IEvent
	EventTreeNodeAttachParent() event.IEvent
	EventTreeNodeDetachParent() event.IEvent
	EventTreeNodeMoveTo() event.IEvent
}

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL