Documentation
¶
Overview ¶
Package runtime 为运行时环境提供的一些接口与函数。
- 运行时上下文(Context)
- 实体管理器(EntityManager)
- 实体树(EntityTree)
- 帧(Frame)
Index ¶
- Variables
- func BindEventEntityManagerAddEntity(auto iAutoEventEntityManagerAddEntity, subscriber EventEntityManagerAddEntity, ...) event.Hook
- func BindEventEntityManagerEntityAddComponents(auto iAutoEventEntityManagerEntityAddComponents, ...) event.Hook
- func BindEventEntityManagerEntityFirstTouchComponent(auto iAutoEventEntityManagerEntityFirstTouchComponent, ...) event.Hook
- func BindEventEntityManagerEntityRemoveComponent(auto iAutoEventEntityManagerEntityRemoveComponent, ...) event.Hook
- func BindEventEntityManagerRemoveEntity(auto iAutoEventEntityManagerRemoveEntity, ...) event.Hook
- func BindEventEntityTreeAddNode(auto iAutoEventEntityTreeAddNode, subscriber EventEntityTreeAddNode, ...) event.Hook
- func BindEventEntityTreeRemoveNode(auto iAutoEventEntityTreeRemoveNode, subscriber EventEntityTreeRemoveNode, ...) event.Hook
- func UnsafeConcurrentContext(context ConcurrentContext) _UnsafeConcurrentContextdeprecated
- func UnsafeContext(ctx Context) _UnsafeContextdeprecated
- func UnsafeFrame(frame Frame) _UnsafeFramedeprecated
- type ConcurrentContext
- type ConcurrentContextProvider
- type Context
- type ContextBehavior
- func (ctx *ContextBehavior) ActivateEvent(event event.IEventCtrl, recursion event.EventRecursion)
- func (ctx *ContextBehavior) CallAsync(fun generic.FuncVar0[any, async.Ret], args ...any) async.AsyncRet
- func (ctx *ContextBehavior) CallDelegateAsync(fun generic.DelegateVar0[any, async.Ret], args ...any) async.AsyncRet
- func (ctx *ContextBehavior) CallDelegateVoidAsync(fun generic.DelegateVoidVar0[any], args ...any) async.AsyncRet
- func (ctx *ContextBehavior) CallVoidAsync(fun generic.ActionVar0[any], args ...any) async.AsyncRet
- func (ctx *ContextBehavior) CollectGC(gc GC)
- func (ctx *ContextBehavior) GetAddInManager() extension.AddInManager
- func (ctx *ContextBehavior) GetConcurrentContext() iface.Cache
- func (ctx *ContextBehavior) GetCurrentContext() iface.Cache
- func (ctx *ContextBehavior) GetEntityManager() EntityManager
- func (ctx *ContextBehavior) GetEntityTree() EntityTree
- func (ctx *ContextBehavior) GetFrame() Frame
- func (ctx *ContextBehavior) GetId() uid.Id
- func (ctx *ContextBehavior) GetInstanceFaceCache() iface.Cache
- func (ctx *ContextBehavior) GetName() string
- func (ctx *ContextBehavior) GetReflected() reflect.Value
- func (ctx *ContextBehavior) ManagedAddHooks(hooks ...event.Hook)
- func (ctx *ContextBehavior) ManagedAddTagHooks(tag string, hooks ...event.Hook)
- func (ctx *ContextBehavior) ManagedCleanTagHooks(tag string)
- func (ctx *ContextBehavior) ManagedGetTagHooks(tag string) []event.Hook
- func (ctx *ContextBehavior) String() string
- type ContextOptions
- type CurrentContextProvider
- type EntityManager
- type EntityTree
- type EventEntityManagerAddEntity
- type EventEntityManagerAddEntityHandler
- type EventEntityManagerEntityAddComponents
- type EventEntityManagerEntityAddComponentsHandler
- type EventEntityManagerEntityFirstTouchComponent
- type EventEntityManagerEntityFirstTouchComponentHandler
- type EventEntityManagerEntityRemoveComponent
- type EventEntityManagerEntityRemoveComponentHandler
- type EventEntityManagerRemoveEntity
- type EventEntityManagerRemoveEntityHandler
- type EventEntityTreeAddNode
- type EventEntityTreeAddNodeHandler
- type EventEntityTreeRemoveNode
- type EventEntityTreeRemoveNodeHandler
- type Frame
- type FrameOptions
- type GC
- type GCCollector
- type IEntityManagerEventTab
- type IEntityTreeEventTab
- type RunningStatus
- type RunningStatusChangedCB
Constants ¶
This section is empty.
Variables ¶
var ( EventEntityManagerAddEntityId = _entityManagerEventTabId + 0 EventEntityManagerRemoveEntityId = _entityManagerEventTabId + 1 EventEntityManagerEntityAddComponentsId = _entityManagerEventTabId + 2 EventEntityManagerEntityRemoveComponentId = _entityManagerEventTabId + 3 EventEntityManagerEntityFirstTouchComponentId = _entityManagerEventTabId + 4 )
var ( EventEntityTreeAddNodeId = _entityTreeEventTabId + 0 EventEntityTreeRemoveNodeId = _entityTreeEventTabId + 1 )
var ( ErrContext = fmt.Errorf("%w: runtime-context", exception.ErrCore) // 运行时上下文错误 ErrEntityTree = fmt.Errorf("%w: entity-tree", ErrContext) // 实体树错误 ErrEntityManager = fmt.Errorf("%w: entity-manager", ErrContext) // 实体管理器错误 ErrFrame = fmt.Errorf("%w: frame", ErrContext) // 帧错误 )
var With _Option
Functions ¶
func BindEventEntityManagerAddEntity ¶ added in v0.3.66
func BindEventEntityManagerAddEntity(auto iAutoEventEntityManagerAddEntity, subscriber EventEntityManagerAddEntity, priority ...int32) event.Hook
func BindEventEntityManagerEntityAddComponents ¶ added in v0.3.66
func BindEventEntityManagerEntityAddComponents(auto iAutoEventEntityManagerEntityAddComponents, subscriber EventEntityManagerEntityAddComponents, priority ...int32) event.Hook
func BindEventEntityManagerEntityFirstTouchComponent ¶ added in v0.3.66
func BindEventEntityManagerEntityFirstTouchComponent(auto iAutoEventEntityManagerEntityFirstTouchComponent, subscriber EventEntityManagerEntityFirstTouchComponent, priority ...int32) event.Hook
func BindEventEntityManagerEntityRemoveComponent ¶ added in v0.3.66
func BindEventEntityManagerEntityRemoveComponent(auto iAutoEventEntityManagerEntityRemoveComponent, subscriber EventEntityManagerEntityRemoveComponent, priority ...int32) event.Hook
func BindEventEntityManagerRemoveEntity ¶ added in v0.3.66
func BindEventEntityManagerRemoveEntity(auto iAutoEventEntityManagerRemoveEntity, subscriber EventEntityManagerRemoveEntity, priority ...int32) event.Hook
func BindEventEntityTreeAddNode ¶ added in v0.2.58
func BindEventEntityTreeAddNode(auto iAutoEventEntityTreeAddNode, subscriber EventEntityTreeAddNode, priority ...int32) event.Hook
func BindEventEntityTreeRemoveNode ¶ added in v0.2.58
func BindEventEntityTreeRemoveNode(auto iAutoEventEntityTreeRemoveNode, subscriber EventEntityTreeRemoveNode, priority ...int32) event.Hook
func UnsafeConcurrentContext
deprecated
added in
v0.3.21
func UnsafeConcurrentContext(context ConcurrentContext) _UnsafeConcurrentContext
Deprecated: UnsafeConcurrentContext 访问多线程安全的上下文接口内部函数
func UnsafeContext
deprecated
func UnsafeContext(ctx Context) _UnsafeContext
Deprecated: UnsafeContext 访问运行时上下文内部方法
func UnsafeFrame
deprecated
func UnsafeFrame(frame Frame) _UnsafeFrame
Deprecated: UnsafeFrame 访问帧内部方法
Types ¶
type ConcurrentContext ¶
type ConcurrentContext interface {
ictx.Context
ictx.ConcurrentContextProvider
async.Caller
fmt.Stringer
// GetName 获取名称
GetName() string
// GetId 获取运行时Id
GetId() uid.Id
// contains filtered or unexported methods
}
ConcurrentContext 多线程安全的运行时上下文接口
func Concurrent ¶
func Concurrent(provider ictx.ConcurrentContextProvider) ConcurrentContext
Concurrent 获取多线程安全的运行时上下文
type ConcurrentContextProvider ¶
type ConcurrentContextProvider = ictx.ConcurrentContextProvider
ConcurrentContextProvider 多线程安全的上下文提供者
type Context ¶
type Context interface {
ictx.Context
ictx.CurrentContextProvider
reinterpret.InstanceProvider
extension.AddInProvider
async.Caller
GCCollector
fmt.Stringer
// GetName 获取名称
GetName() string
// GetId 获取运行时Id
GetId() uid.Id
// GetReflected 获取反射值
GetReflected() reflect.Value
// GetFrame 获取帧
GetFrame() Frame
// GetEntityManager 获取实体管理器
GetEntityManager() EntityManager
// GetEntityTree 获取实体树
GetEntityTree() EntityTree
// ActivateEvent 启用事件
ActivateEvent(event event.IEventCtrl, recursion event.EventRecursion)
// ManagedAddHooks 托管事件钩子(event.Hook),在运行时停止时自动解绑定
ManagedAddHooks(hooks ...event.Hook)
// ManagedAddTagHooks 根据标签托管事件钩子(event.Hook),在运行时停止时自动解绑定
ManagedAddTagHooks(tag string, hooks ...event.Hook)
// ManagedGetTagHooks 根据标签获取托管事件钩子(event.Hook)
ManagedGetTagHooks(tag string) []event.Hook
// ManagedCleanTagHooks 清理根据标签托管的事件钩子(event.Hook)
ManagedCleanTagHooks(tag string)
// contains filtered or unexported methods
}
Context 运行时上下文接口
func NewContext ¶
NewContext 创建运行时上下文
func UnsafeNewContext
deprecated
func UnsafeNewContext(svcCtx service.Context, options ContextOptions) Context
Deprecated: UnsafeNewContext 内部创建运行时上下文
type ContextBehavior ¶
type ContextBehavior struct {
ictx.ContextBehavior
// contains filtered or unexported fields
}
ContextBehavior 运行时上下文行为,在扩展运行时上下文能力时,匿名嵌入至运行时上下文结构体中
func (*ContextBehavior) ActivateEvent ¶
func (ctx *ContextBehavior) ActivateEvent(event event.IEventCtrl, recursion event.EventRecursion)
ActivateEvent 启用事件
func (*ContextBehavior) CallAsync ¶ added in v0.3.89
func (ctx *ContextBehavior) CallAsync(fun generic.FuncVar0[any, async.Ret], args ...any) async.AsyncRet
CallAsync 异步调用函数,有返回值。不会阻塞当前线程,会返回AsyncRet。
注意: - 代码片段中的线程安全问题,如临界区访问、线程死锁等。 - 调用过程中的panic信息,均会转换为error返回。
func (*ContextBehavior) CallDelegateAsync ¶ added in v0.3.89
func (ctx *ContextBehavior) CallDelegateAsync(fun generic.DelegateVar0[any, async.Ret], args ...any) async.AsyncRet
CallDelegateAsync 异步调用委托,有返回值。不会阻塞当前线程,会返回AsyncRet。
注意: - 代码片段中的线程安全问题,如临界区访问、线程死锁等。 - 调用过程中的panic信息,均会转换为error返回。
func (*ContextBehavior) CallDelegateVoidAsync ¶ added in v0.3.89
func (ctx *ContextBehavior) CallDelegateVoidAsync(fun generic.DelegateVoidVar0[any], args ...any) async.AsyncRet
CallDelegateVoidAsync 异步调用委托,无返回值。在运行时中。不会阻塞当前线程,会返回AsyncRet。
注意: - 代码片段中的线程安全问题,如临界区访问、线程死锁等。 - 调用过程中的panic信息,均会转换为error返回。
func (*ContextBehavior) CallVoidAsync ¶ added in v0.3.89
func (ctx *ContextBehavior) CallVoidAsync(fun generic.ActionVar0[any], args ...any) async.AsyncRet
CallVoidAsync 异步调用函数,无返回值。在运行时中。不会阻塞当前线程,会返回AsyncRet。
注意: - 代码片段中的线程安全问题,如临界区访问、线程死锁等。 - 调用过程中的panic信息,均会转换为error返回。
func (*ContextBehavior) GetAddInManager ¶ added in v0.3.66
func (ctx *ContextBehavior) GetAddInManager() extension.AddInManager
GetAddInManager 获取插件管理器
func (*ContextBehavior) GetConcurrentContext ¶
func (ctx *ContextBehavior) GetConcurrentContext() iface.Cache
GetConcurrentContext 获取多线程安全的上下文
func (*ContextBehavior) GetCurrentContext ¶
func (ctx *ContextBehavior) GetCurrentContext() iface.Cache
GetCurrentContext 获取当前上下文
func (*ContextBehavior) GetEntityManager ¶ added in v0.3.66
func (ctx *ContextBehavior) GetEntityManager() EntityManager
GetEntityManager 获取实体管理器
func (*ContextBehavior) GetEntityTree ¶ added in v0.2.58
func (ctx *ContextBehavior) GetEntityTree() EntityTree
GetEntityTree 获取主实体树
func (*ContextBehavior) GetInstanceFaceCache ¶ added in v0.3.34
func (ctx *ContextBehavior) GetInstanceFaceCache() iface.Cache
GetInstanceFaceCache 支持重新解释类型
func (*ContextBehavior) GetReflected ¶ added in v0.2.58
func (ctx *ContextBehavior) GetReflected() reflect.Value
GetReflected 获取反射值
func (*ContextBehavior) ManagedAddHooks ¶ added in v0.3.80
func (ctx *ContextBehavior) ManagedAddHooks(hooks ...event.Hook)
ManagedAddHooks 托管事件钩子(event.Hook),在运行时停止时自动解绑定
func (*ContextBehavior) ManagedAddTagHooks ¶ added in v0.3.80
func (ctx *ContextBehavior) ManagedAddTagHooks(tag string, hooks ...event.Hook)
ManagedAddTagHooks 根据标签托管事件钩子(event.Hook),在运行时停止时自动解绑定
func (*ContextBehavior) ManagedCleanTagHooks ¶ added in v0.3.80
func (ctx *ContextBehavior) ManagedCleanTagHooks(tag string)
ManagedCleanTagHooks 清理根据标签托管的事件钩子(event.Hook)
func (*ContextBehavior) ManagedGetTagHooks ¶ added in v0.3.80
func (ctx *ContextBehavior) ManagedGetTagHooks(tag string) []event.Hook
ManagedGetTagHooks 根据标签获取托管事件钩子(event.Hook)
func (*ContextBehavior) String ¶
func (ctx *ContextBehavior) String() string
String implements fmt.Stringer
type ContextOptions ¶
type ContextOptions struct {
InstanceFace iface.Face[Context] // 实例,用于扩展运行时上下文能力
Context context.Context // 父Context
AutoRecover bool // 是否开启panic时自动恢复
ReportError chan error // panic时错误写入的error channel
Name string // 运行时名称
PersistId uid.Id // 运行时持久化Id
AddInManager extension.AddInManager // 插件管理器
RunningStatusChangedCB RunningStatusChangedCB // 运行状态变化回调
}
ContextOptions 创建运行时上下文的所有选项
type CurrentContextProvider ¶
type CurrentContextProvider = ictx.CurrentContextProvider
CurrentContextProvider 当前上下文提供者
type EntityManager ¶ added in v0.3.66
type EntityManager interface {
ictx.CurrentContextProvider
// AddEntity 添加实体
AddEntity(entity ec.Entity) error
// RemoveEntity 删除实体
RemoveEntity(id uid.Id)
// GetEntity 查询实体
GetEntity(id uid.Id) (ec.Entity, bool)
// ContainsEntity 实体是否存在
ContainsEntity(id uid.Id) bool
// RangeEntities 遍历所有实体
RangeEntities(fun generic.Func1[ec.Entity, bool])
// ReversedRangeEntities 反向遍历所有实体
ReversedRangeEntities(fun generic.Func1[ec.Entity, bool])
// FilterEntities 过滤并获取实体
FilterEntities(fun generic.Func1[ec.Entity, bool]) []ec.Entity
// GetEntities 获取所有实体
GetEntities() []ec.Entity
// CountEntities 获取实体数量
CountEntities() int
IEntityManagerEventTab
}
EntityManager 实体管理器接口
type EntityTree ¶ added in v0.2.58
type EntityTree interface {
ictx.CurrentContextProvider
// AddNode 新增实体节点,会向实体管理器添加实体
AddNode(entity ec.Entity, parentId uid.Id) error
// PruningNode 实体树节点剪枝,使实体成为根节点
PruningNode(entityId uid.Id) error
// RangeChildren 遍历子实体
RangeChildren(entityId uid.Id, fun generic.Func1[ec.Entity, bool])
// ReversedRangeChildren 反向遍历子实体
ReversedRangeChildren(entityId uid.Id, fun generic.Func1[ec.Entity, bool])
// FilterChildren 过滤并获取子实体
FilterChildren(entityId uid.Id, fun generic.Func1[ec.Entity, bool]) []ec.Entity
// GetChildren 获取所有子实体
GetChildren(entityId uid.Id) []ec.Entity
// CountChildren 获取子实体数量
CountChildren(entityId uid.Id) int
// ChangeParent 修改父实体
ChangeParent(entityId, parentId uid.Id) error
// GetParent 获取父实体
GetParent(entityId uid.Id) (ec.Entity, bool)
IEntityTreeEventTab
}
EntityTree 实体树接口
type EventEntityManagerAddEntity ¶ added in v0.3.66
type EventEntityManagerAddEntity interface {
OnEntityManagerAddEntity(entityManager EntityManager, entity ec.Entity)
}
EventEntityManagerAddEntity 事件:实体管理器添加实体 +event-gen:export=0
type EventEntityManagerAddEntityHandler ¶ added in v0.3.66
type EventEntityManagerAddEntityHandler func(entityManager EntityManager, entity ec.Entity)
func HandleEventEntityManagerAddEntity ¶ added in v0.3.66
func HandleEventEntityManagerAddEntity(fun func(entityManager EntityManager, entity ec.Entity)) EventEntityManagerAddEntityHandler
func (EventEntityManagerAddEntityHandler) OnEntityManagerAddEntity ¶ added in v0.3.66
func (h EventEntityManagerAddEntityHandler) OnEntityManagerAddEntity(entityManager EntityManager, entity ec.Entity)
type EventEntityManagerEntityAddComponents ¶ added in v0.3.66
type EventEntityManagerEntityAddComponents interface {
OnEntityManagerEntityAddComponents(entityManager EntityManager, entity ec.Entity, components []ec.Component)
}
EventEntityManagerEntityAddComponents 事件:实体管理器中的实体添加组件 +event-gen:export=0
type EventEntityManagerEntityAddComponentsHandler ¶ added in v0.3.66
type EventEntityManagerEntityAddComponentsHandler func(entityManager EntityManager, entity ec.Entity, components []ec.Component)
func HandleEventEntityManagerEntityAddComponents ¶ added in v0.3.66
func HandleEventEntityManagerEntityAddComponents(fun func(entityManager EntityManager, entity ec.Entity, components []ec.Component)) EventEntityManagerEntityAddComponentsHandler
func (EventEntityManagerEntityAddComponentsHandler) OnEntityManagerEntityAddComponents ¶ added in v0.3.66
func (h EventEntityManagerEntityAddComponentsHandler) OnEntityManagerEntityAddComponents(entityManager EntityManager, entity ec.Entity, components []ec.Component)
type EventEntityManagerEntityFirstTouchComponent ¶ added in v0.3.66
type EventEntityManagerEntityFirstTouchComponent interface {
OnEntityManagerEntityFirstTouchComponent(entityManager EntityManager, entity ec.Entity, component ec.Component)
}
EventEntityManagerEntityFirstTouchComponent 事件:实体管理器中的实体首次访问组件 +event-gen:export=0
type EventEntityManagerEntityFirstTouchComponentHandler ¶ added in v0.3.66
type EventEntityManagerEntityFirstTouchComponentHandler func(entityManager EntityManager, entity ec.Entity, component ec.Component)
func HandleEventEntityManagerEntityFirstTouchComponent ¶ added in v0.3.66
func HandleEventEntityManagerEntityFirstTouchComponent(fun func(entityManager EntityManager, entity ec.Entity, component ec.Component)) EventEntityManagerEntityFirstTouchComponentHandler
func (EventEntityManagerEntityFirstTouchComponentHandler) OnEntityManagerEntityFirstTouchComponent ¶ added in v0.3.66
func (h EventEntityManagerEntityFirstTouchComponentHandler) OnEntityManagerEntityFirstTouchComponent(entityManager EntityManager, entity ec.Entity, component ec.Component)
type EventEntityManagerEntityRemoveComponent ¶ added in v0.3.66
type EventEntityManagerEntityRemoveComponent interface {
OnEntityManagerEntityRemoveComponent(entityManager EntityManager, entity ec.Entity, component ec.Component)
}
EventEntityManagerEntityRemoveComponent 事件:实体管理器中的实体删除组件 +event-gen:export=0
type EventEntityManagerEntityRemoveComponentHandler ¶ added in v0.3.66
type EventEntityManagerEntityRemoveComponentHandler func(entityManager EntityManager, entity ec.Entity, component ec.Component)
func HandleEventEntityManagerEntityRemoveComponent ¶ added in v0.3.66
func HandleEventEntityManagerEntityRemoveComponent(fun func(entityManager EntityManager, entity ec.Entity, component ec.Component)) EventEntityManagerEntityRemoveComponentHandler
func (EventEntityManagerEntityRemoveComponentHandler) OnEntityManagerEntityRemoveComponent ¶ added in v0.3.66
func (h EventEntityManagerEntityRemoveComponentHandler) OnEntityManagerEntityRemoveComponent(entityManager EntityManager, entity ec.Entity, component ec.Component)
type EventEntityManagerRemoveEntity ¶ added in v0.3.66
type EventEntityManagerRemoveEntity interface {
OnEntityManagerRemoveEntity(entityManager EntityManager, entity ec.Entity)
}
EventEntityManagerRemoveEntity 事件:实体管理器删除实体 +event-gen:export=0
type EventEntityManagerRemoveEntityHandler ¶ added in v0.3.66
type EventEntityManagerRemoveEntityHandler func(entityManager EntityManager, entity ec.Entity)
func HandleEventEntityManagerRemoveEntity ¶ added in v0.3.66
func HandleEventEntityManagerRemoveEntity(fun func(entityManager EntityManager, entity ec.Entity)) EventEntityManagerRemoveEntityHandler
func (EventEntityManagerRemoveEntityHandler) OnEntityManagerRemoveEntity ¶ added in v0.3.66
func (h EventEntityManagerRemoveEntityHandler) OnEntityManagerRemoveEntity(entityManager EntityManager, entity ec.Entity)
type EventEntityTreeAddNode ¶ added in v0.2.58
type EventEntityTreeAddNode interface {
OnEntityTreeAddNode(entityTree EntityTree, parent, child ec.Entity)
}
EventEntityTreeAddNode 事件:新增实体树节点 +event-gen:export=0
type EventEntityTreeAddNodeHandler ¶ added in v0.2.58
type EventEntityTreeAddNodeHandler func(entityTree EntityTree, parent, child ec.Entity)
func HandleEventEntityTreeAddNode ¶ added in v0.2.58
func HandleEventEntityTreeAddNode(fun func(entityTree EntityTree, parent, child ec.Entity)) EventEntityTreeAddNodeHandler
func (EventEntityTreeAddNodeHandler) OnEntityTreeAddNode ¶ added in v0.2.58
func (h EventEntityTreeAddNodeHandler) OnEntityTreeAddNode(entityTree EntityTree, parent, child ec.Entity)
type EventEntityTreeRemoveNode ¶ added in v0.2.58
type EventEntityTreeRemoveNode interface {
OnEntityTreeRemoveNode(entityTree EntityTree, parent, child ec.Entity)
}
EventEntityTreeRemoveNode 事件:删除实体树节点 +event-gen:export=0
type EventEntityTreeRemoveNodeHandler ¶ added in v0.2.58
type EventEntityTreeRemoveNodeHandler func(entityTree EntityTree, parent, child ec.Entity)
func HandleEventEntityTreeRemoveNode ¶ added in v0.2.58
func HandleEventEntityTreeRemoveNode(fun func(entityTree EntityTree, parent, child ec.Entity)) EventEntityTreeRemoveNodeHandler
func (EventEntityTreeRemoveNodeHandler) OnEntityTreeRemoveNode ¶ added in v0.2.58
func (h EventEntityTreeRemoveNodeHandler) OnEntityTreeRemoveNode(entityTree EntityTree, parent, child ec.Entity)
type Frame ¶
type Frame interface {
// GetTargetFPS 获取目标FPS
GetTargetFPS() float32
// GetCurFPS 获取当前FPS
GetCurFPS() float32
// GetTotalFrames 获取运行帧数上限
GetTotalFrames() int64
// GetCurFrames 获取当前帧数
GetCurFrames() int64
// GetRunningBeginTime 获取运行开始时间
GetRunningBeginTime() time.Time
// GetRunningElapseTime 获取运行持续时间
GetRunningElapseTime() time.Duration
// GetLoopBeginTime 获取当前帧循环开始时间(包含异步调用)
GetLoopBeginTime() time.Time
// GetLastLoopElapseTime 获取上一帧循环耗时(包含异步调用)
GetLastLoopElapseTime() time.Duration
// GetUpdateBeginTime 获取当前帧更新开始时间
GetUpdateBeginTime() time.Time
// GetLastUpdateElapseTime 获取上一次帧更新耗时
GetLastUpdateElapseTime() time.Duration
// contains filtered or unexported methods
}
Frame 帧,在运行时初始化时可以设置帧,用于设置运行时帧更新方式,在逻辑运行过程中可以在运行时上下文中获取帧信息
type FrameOptions ¶
FrameOptions 帧的所有选项
type GC ¶ added in v0.2.53
type GC interface {
// GC GC
GC()
// NeedGC 是否需要GC
NeedGC() bool
}
GC GC接口
type GCCollector ¶ added in v0.2.53
type GCCollector interface {
// CollectGC 收集GC
CollectGC(gc GC)
}
GCCollector GC收集器接口
type IEntityManagerEventTab ¶ added in v0.3.66
type IEntityTreeEventTab ¶ added in v0.3.48
type RunningStatus ¶ added in v0.3.70
type RunningStatus int32
RunningStatus 运行状态
const ( RunningStatus_Birth RunningStatus = iota // 出生 RunningStatus_Starting // 开始启动 RunningStatus_Started // 已启动 RunningStatus_FrameLoopBegin // 帧循环开始 RunningStatus_FrameUpdateBegin // 帧更新开始 RunningStatus_FrameUpdateEnd // 帧更新结束 RunningStatus_FrameLoopEnd // 帧循环结束 RunningStatus_RunCallBegin // Call开始执行 RunningStatus_RunCallEnd // Call结束执行 RunningStatus_RunGCBegin // GC开始执行 RunningStatus_RunGCEnd // GC结束执行 RunningStatus_Terminating // 开始停止 RunningStatus_Terminated // 已停止 RunningStatus_AddInActivating // 开始激活插件 RunningStatus_AddInActivated // 插件已激活 RunningStatus_AddInDeactivating // 开始去激活插件 RunningStatus_AddInDeactivated // 插件已去激活 )
func (RunningStatus) String ¶ added in v0.3.70
func (i RunningStatus) String() string
type RunningStatusChangedCB ¶ added in v0.4.0
type RunningStatusChangedCB = generic.ActionVar2[Context, RunningStatus, any] // 运行状态变化回调
Source Files
¶
- context.go
- context_addin.go
- context_caller.go
- context_concurrent.go
- context_current.go
- context_gc.go
- context_managedhooks.go
- context_options.go
- doc.go
- entitymanager.go
- entitymanager_event.gen.go
- entitymanager_event.go
- entitymanager_event.tab.gen.go
- entitytree.go
- entitytree_event.gen.go
- entitytree_event.go
- entitytree_event.tab.gen.go
- errors.go
- frame.go
- frame_options.go
- gc.go
- options.go
- runningstatus.go
- runningstatus_string.go
- unsafe_concurrentcontext.go
- unsafe_context.go
- unsafe_frame.go