Class ECSEntity

ECS实体对象

Hierarchy

  • ECSEntity

Constructors

Properties

_children: null | Map<number, ECSEntity> = null
_parent: null | ECSEntity = null
compTid2Ctor: Map<number, CompType<IComp>> = ...

当前实体身上附加的组件构造函数

compTid2Obj: Map<number, IComp> = ...

配合 entity.remove(Comp, false), 记录组件实例上的缓存数据,在添加时恢复原数据

eid: number = -1

实体唯一标识,不要手动修改

mask: ECSMask = ...

组件过滤数据

name: string = ""

实体对象名

Accessors

  • get children(): Map<number, ECSEntity>
  • 子实体集合

    Returns Map<number, ECSEntity>

  • get parent(): null | ECSEntity
  • 父实体

    Returns null | ECSEntity

Methods

  • Parameters

    Returns void

  • 根据组件类动态创建组件,并通知关心的系统。如果实体存在了这个组件,那么会先删除之前的组件然后添加新的

    注意:不要直接new Component,new来的Component不会从Component的缓存池拿缓存的数据

    Type Parameters

    Parameters

    • obj: T

    Returns ECSEntity

  • Parameters

    • ctor: number
    • Optional isReAdd: boolean

    Returns ECSEntity

  • Type Parameters

    Parameters

    • ctor: CompCtor<T>
    • Optional isReAdd: boolean

    Returns T

  • Type Parameters

    Parameters

    • ctor: CompType<T>
    • Optional isReAdd: boolean

    Returns T

  • 添加子实体

    Parameters

    Returns void

  • 批量添加组件

    Returns

    Type Parameters

    Parameters

    • Rest ...ctors: CompType<T>[]

      组件类

    Returns ECSEntity

  • 销毁实体,实体会被回收到实体缓存池中

    Returns void

  • 获取一个组件实例

    Parameters

    • ctor: number

      组件类

    Returns number

  • Type Parameters

    Parameters

    • ctor: CompCtor<T>

    Returns T

  • 组件是否在实体存在内

    Parameters

    • ctor: CompType<IComp>

      组件类

    Returns boolean

  • 从实体上删除指定组件

    Parameters

    • ctor: CompType<IComp>

      组件构造函数或者组件Tag

    • isRecycle: boolean = true

      是否回收该组件对象。对于有些组件上有大量数据,当要描述移除组件但是不想清除组件上的数据是可以 设置该参数为false,这样该组件对象会缓存在实体身上,下次重新添加组件时会将该组件对象添加回来,不会重新从组件缓存 池中拿一个组件来用。

    Returns void

  • 移除子实体

    Returns

    Parameters

    Returns void

Generated using TypeDoc