Hex Terrains Framework
Search Results for

    Show / Hide Table of Contents

    Class System_ObjectPool<TObject>

    Inheritance
    object
    ComponentSystemBase
    SystemBase
    System_ObjectPool<TObject>
    ObjectPoolSystem_GameObject
    Inherited Members
    SystemBase.Dependency
    SystemBase.CheckedStateRef
    SystemBase.CompleteDependency()
    SystemBase.Entities
    SystemBase.Job
    SystemBase.Update()
    SystemBase.GetComponent<T>(Entity)
    SystemBase.SetComponent<T>(Entity, T)
    SystemBase.HasComponent<T>(Entity)
    SystemBase.HasBuffer<T>(Entity)
    SystemBase.GetComponentLookup<T>(bool)
    SystemBase.GetComponentDataFromEntity<T>(bool)
    SystemBase.GetBuffer<T>(Entity, bool)
    SystemBase.GetBufferLookup<T>(bool)
    SystemBase.GetBufferFromEntity<T>(bool)
    SystemBase.GetEntityStorageInfoLookup()
    SystemBase.GetStorageInfoFromEntity()
    SystemBase.Exists(Entity)
    ComponentSystemBase.Enabled
    ComponentSystemBase.EntityQueries
    ComponentSystemBase.GlobalSystemVersion
    ComponentSystemBase.LastSystemVersion
    ComponentSystemBase.EntityManager
    ComponentSystemBase.World
    ComponentSystemBase.SystemHandle
    ComponentSystemBase.SystemHandleUntyped
    ComponentSystemBase.Time
    ComponentSystemBase.WorldUpdateAllocator
    ComponentSystemBase.OnCreate()
    ComponentSystemBase.OnStartRunning()
    ComponentSystemBase.OnStopRunning()
    ComponentSystemBase.OnDestroy()
    ComponentSystemBase.ShouldRunSystem()
    ComponentSystemBase.GetComponentTypeHandle<T>(bool)
    ComponentSystemBase.GetDynamicComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetBufferTypeHandle<T>(bool)
    ComponentSystemBase.GetSharedComponentTypeHandle<T>()
    ComponentSystemBase.GetDynamicSharedComponentTypeHandle(ComponentType)
    ComponentSystemBase.GetEntityTypeHandle()
    ComponentSystemBase.RequireForUpdate(EntityQuery)
    ComponentSystemBase.RequireAnyForUpdate(params EntityQuery[])
    ComponentSystemBase.RequireAnyForUpdate(NativeArray<EntityQuery>)
    ComponentSystemBase.RequireForUpdate<T>()
    ComponentSystemBase.RequireSingletonForUpdate<T>()
    ComponentSystemBase.HasSingleton<T>()
    ComponentSystemBase.GetSingleton<T>()
    ComponentSystemBase.GetSingletonRW<T>()
    ComponentSystemBase.GetSingletonBuffer<T>(bool)
    ComponentSystemBase.TryGetSingleton<T>(out T)
    ComponentSystemBase.TryGetSingletonBuffer<T>(out DynamicBuffer<T>)
    ComponentSystemBase.SetSingleton<T>(T)
    ComponentSystemBase.GetSingletonEntity<T>()
    ComponentSystemBase.TryGetSingletonEntity<T>(out Entity)
    ComponentSystemBase.GetEntityQuery(params ComponentType[])
    ComponentSystemBase.GetEntityQuery(NativeArray<ComponentType>)
    ComponentSystemBase.GetEntityQuery(params EntityQueryDesc[])
    ComponentSystemBase.GetEntityQuery(in EntityQueryBuilder)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Fwt.Core
    Assembly: fwt.core.ecs.dll
    Syntax
    public abstract class System_ObjectPool<TObject> : SystemBase where TObject : Object
    Type Parameters
    Name Description
    TObject

    Fields

    _maxObjectsInPool

    Declaration
    protected int _maxObjectsInPool
    Field Value
    Type Description
    int

    Properties

    MaxObjectsInPool

    Declaration
    public virtual int MaxObjectsInPool { get; set; }
    Property Value
    Type Description
    int

    ObjectsPool

    Declaration
    public Dictionary<int, List<TObject>> ObjectsPool { get; }
    Property Value
    Type Description
    Dictionary<int, List<TObject>>

    PoolObjectsRoot

    Declaration
    protected Transform PoolObjectsRoot { get; }
    Property Value
    Type Description
    Transform

    PrefabIdByObjectId

    Declaration
    public Dictionary<int, int> PrefabIdByObjectId { get; }
    Property Value
    Type Description
    Dictionary<int, int>

    Methods

    CreateObjectsRootTransform()

    Declaration
    protected virtual Transform CreateObjectsRootTransform()
    Returns
    Type Description
    Transform

    DestroyObject(TObject)

    Declaration
    protected void DestroyObject(TObject obj)
    Parameters
    Type Name Description
    TObject obj

    ExtractObjectFromPool(int)

    Declaration
    protected TObject ExtractObjectFromPool(int prefabId)
    Parameters
    Type Name Description
    int prefabId
    Returns
    Type Description
    TObject

    GetPrefabId(int)

    Declaration
    protected int? GetPrefabId(int objectId)
    Parameters
    Type Name Description
    int objectId
    Returns
    Type Description
    int?

    GetPrefabId(TObject)

    Declaration
    protected int? GetPrefabId(TObject obj)
    Parameters
    Type Name Description
    TObject obj
    Returns
    Type Description
    int?

    Instantiate(TObject, bool)

    Declaration
    public TObject Instantiate(TObject prefab, bool isWorldPositionStays)
    Parameters
    Type Name Description
    TObject prefab
    bool isWorldPositionStays
    Returns
    Type Description
    TObject

    Instantiate(TObject, Transform, bool)

    Declaration
    public TObject Instantiate(TObject prefab, Transform parent, bool isWorldPositionStays)
    Parameters
    Type Name Description
    TObject prefab
    Transform parent
    bool isWorldPositionStays
    Returns
    Type Description
    TObject

    OnUpdate()

    Implement OnUpdate() to perform the major work of this system.

    Declaration
    protected override void OnUpdate()
    Overrides
    Unity.Entities.SystemBase.OnUpdate()
    Remarks

    By default, the system invokes `OnUpdate()` once every frame on the main thread. To skip OnUpdate if all of the system's [EntityQueries] are empty, use the [RequireMatchingQueriesForUpdateAttribute]. To limit when OnUpdate is invoked, you can specify components that must exist, or queries that match specific Entities. To do this, call Unity.Entities.ComponentSystemBase.RequireForUpdate<T>() or Unity.Entities.ComponentSystemBase.RequireForUpdate(Unity.Entities.EntityQuery) in the system's OnCreate method. For more information, see [ShouldRunSystem].

    The [Entities.ForEach] and [Job.WithCode] constructions provide convenient mechanisms for defining jobs. You can also instantiate and schedule an Unity.Entities.IJobChunk instance; you can use the [C# Job System] or you can perform work on the main thread. If you call Unity.Entities.EntityManager methods that perform structural changes on the main thread, be sure to arrange the system order to minimize the performance impact of the resulting [sync points].

    PutObjectToPool(int, TObject)

    Declaration
    protected bool PutObjectToPool(int prefabId, TObject instance)
    Parameters
    Type Name Description
    int prefabId
    TObject instance
    Returns
    Type Description
    bool

    PutObjectToPool(TObject)

    Declaration
    protected bool PutObjectToPool(TObject obj)
    Parameters
    Type Name Description
    TObject obj
    Returns
    Type Description
    bool

    PutObjectToPoolOrDestroy(TObject)

    Declaration
    protected void PutObjectToPoolOrDestroy(TObject obj)
    Parameters
    Type Name Description
    TObject obj

    RegisterCreatedInstance(int, int)

    Declaration
    protected virtual void RegisterCreatedInstance(int prefabId, int instanceId)
    Parameters
    Type Name Description
    int prefabId
    int instanceId

    ReleaseInstance(TObject)

    Declaration
    public bool ReleaseInstance(TObject instance)
    Parameters
    Type Name Description
    TObject instance
    Returns
    Type Description
    bool

    UnregisterCreatedInstance(int)

    Declaration
    protected virtual void UnregisterCreatedInstance(int instanceId)
    Parameters
    Type Name Description
    int instanceId

    UnregisterCreatedInstance(TObject)

    Declaration
    protected virtual void UnregisterCreatedInstance(TObject instance)
    Parameters
    Type Name Description
    TObject instance

    Extension Methods

    HashExtensions.GetHashCode_RefType<TValue>(TValue, int)
    HashExtensions.GetHashCode_RefType<TValue>(TValue, int)
    Extensions_UnityObject.SmartDestroy(object)
    Extensions_UnityObject.SmartDestroy(object)
    Extensions_UnityObject.SmartGetComponent<TComponent>(object)
    Extensions_UnityObject.SmartGetComponent<TComponent>(object)
    Extensions_UnityObject.SmartGetGameGameObject(object)
    Extensions_UnityObject.SmartGetGameGameObject(object)
    In this article
    Back to top Generated by DocFX