Depiction Engine For Unity 2023.0 (Alpha)
Loading...
Searching...
No Matches
DepictionEngine.PoolManager Class Reference

Singleton managing the pooling of objects. More...

Public Member Functions

override void Initialized (InitializationContext initializingContext)
 Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.
 
override void IterateOverChildrenAndSiblings (Action< PropertyMonoBehaviour > callback)
 
void AddToPool (IDisposable disposable)
 
IDisposable GetFromPool (Type type)
 
int GetHashCodeFromType (Type type)
 
void DestroyAllDisposables ()
 Destroy all pooled objects.
 
override bool OnDispose (DisposeContext disposeContext)
 This is where you dispose any remaining dependencies.
 
- Public Member Functions inherited from DepictionEngine.ManagerBase
override bool DetectUserGameObjectChanges ()
 Detect changes that happen as a result of an external influence.
 
- Public Member Functions inherited from DepictionEngine.JsonMonoBehaviour
override void Initialized (InitializationContext initializingContext)
 Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.
 
virtual bool DetectUserGameObjectChanges ()
 Detect changes that happen as a result of an external influence.
 
- Public Member Functions inherited from DepictionEngine.PropertyMonoBehaviour
override void Recycle ()
 Resets the fields to their default value so the object can be reused again. It will be called by the DepictionEngine.PoolManager if the object is being recycled from the pool.
 
override void Initialized (InitializationContext initializingContext)
 Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.
 
virtual void UpdateDependencies ()
 
virtual bool UpdateRelations (Action beforeSiblingsInitializeCallback=null)
 
virtual void UpdateParent (PropertyMonoBehaviour originator=null)
 Finds and sets the parent.
 
bool PropertyDirty (string name)
 
void ResetId ()
 Resets the Id to DepictionEngine.SerializableGuid.Empty.
 
void UpdateActiveAndEnabled ()
 
virtual void HierarchicalApplyOriginShifting (Vector3Double origin, bool originShiftSelected)
 
virtual bool HierarchicalBeginCameraRendering (Camera camera)
 Called as a result of a hierarchical traversal of the scenegraph initiated at the same time as the RenderPipelineManager.beginCameraRendering.
 
virtual bool HierarchicalEndCameraRendering (Camera camera)
 Called as a result of a hierarchical traversal of the scenegraph initiated at the same time as the RenderPipelineManager.endCameraRendering.
 
virtual bool PreHierarchicalUpdate ()
 Called as a result of a hierarchical traversal of the scenegraph initiated at the same time as the UnityEngine Update. It is called before the DepictionEngine.PropertyMonoBehaviour.HierarchicalUpdate.
 
virtual void PreHierarchicalUpdateBeforeChildrenAndSiblings ()
 
virtual bool HierarchicalUpdate ()
 Called as a result of a hierarchical traversal of the scenegraph initiated at the same time as the UnityEngine Update. It is called after the DepictionEngine.PropertyMonoBehaviour.PreHierarchicalUpdate and before the DepictionEngine.PropertyMonoBehaviour.PostHierarchicalUpdate.
 
virtual bool PostHierarchicalUpdate ()
 Called as a result of a hierarchical traversal of the scenegraph initiated at the same time as the UnityEngine Update. It is called after the DepictionEngine.PropertyMonoBehaviour.HierarchicalUpdate.
 
virtual void IterateOverChildrenAndSiblings (Action< PropertyMonoBehaviour > callback=null)
 
override bool OnDispose (DisposeContext disposeContext)
 This is where you dispose any remaining dependencies.
 
- Public Member Functions inherited from DepictionEngine.MonoBehaviourDisposable
virtual void Recycle ()
 Resets the fields to their default value so the object can be reused again. It will be called by the DepictionEngine.PoolManager if the object is being recycled from the pool.
 
bool Initialize ()
 Needs to be called before the object can be used. Objects created through the DepictionEngine.InstanceManager should automatically Initialize the object.
 
virtual void Initialized (InitializationContext initializingContext)
 Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.
 
AddComponent< T > (InitializationContext initializingContext=InitializationContext.Programmatically, JSONObject json=null, List< PropertyModifier > propertyModifiers=null, bool isFallbackValues=false)
 
AddComponent< T > (bool initialize, InitializationContext initializingContext=InitializationContext.Programmatically, JSONObject json=null, List< PropertyModifier > propertyModifiers=null, bool isFallbackValues=false)
 
Component AddComponent (Type componentType, InitializationContext initializingContext=InitializationContext.Programmatically, JSONObject json=null, List< PropertyModifier > propertyModifiers=null, bool isFallbackValues=false)
 
Component AddComponent (Type componentType, bool initialize, InitializationContext initializingContext=InitializationContext.Programmatically, JSONObject json=null, List< PropertyModifier > propertyModifiers=null, bool isFallbackValues=false)
 
InitializationContext GetInitializeContext ()
 
bool IsDisposing ()
 Is the object disposing?.
 
bool IsDisposed ()
 Has the object been disposed?
 
void Originator (Action callback, IScriptableBehaviour originator)
 Provides the code executed in this callback information about the DepictionEngine.IScriptableBehaviour that triggered it by keeping a reference available under DepictionEngine.IScriptableBehaviour.originator.
 
bool OnDisposing ()
 
bool UpdateDisposingContext (bool forceUpdate=false)
 This is where you clear or dispose any remaining references. It will be called automatically by DepictionEngine.DisposeManager immediately after DepictionEngine.IDisposable.OnDisposing unless the object was Destroyed as a result of an Editor action.
 
void OnDisposeInternal (DisposeContext disposeContext)
 
virtual bool OnDispose (DisposeContext disposeContext)
 This is where you dispose any remaining dependencies.
 
void OnDestroy ()
 This is where you destroy any remaining dependencies.
 
virtual void OnBeforeSerialize ()
 
virtual void OnAfterDeserialize ()
 
virtual void OnValidate ()
 
bool Equals (Disposable.Null value)
 
override bool Equals (object value)
 
override int GetHashCode ()
 
- Public Member Functions inherited from DepictionEngine.IScriptableBehaviour
InitializationContext GetInitializeContext ()
 
void Originator (Action callback, IScriptableBehaviour originator)
 Provides the code executed in this callback information about the DepictionEngine.IScriptableBehaviour that triggered it by keeping a reference available under DepictionEngine.IScriptableBehaviour.originator.
 
int GetInstanceID ()
 
void OnDestroy ()
 This is where you destroy any remaining dependencies.
 
void Initialized (InitializationContext initializingContext)
 Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.
 
void Recycle ()
 Resets the fields to their default value so the object can be reused again. It will be called by the DepictionEngine.PoolManager if the object is being recycled from the pool.
 
bool Initialize ()
 Needs to be called before the object can be used. Objects created through the DepictionEngine.InstanceManager should automatically Initialize the object.
 
bool IsDisposing ()
 Is the object disposing?.
 
bool IsDisposed ()
 Has the object been disposed?
 
bool OnDisposing ()
 
bool OnDispose (DisposeContext disposeContext)
 This is where you dispose any remaining dependencies.
 
void OnDisposeInternal (DisposeContext disposeContext)
 
bool UpdateDisposingContext (bool forceUpdate=false)
 This is where you clear or dispose any remaining references. It will be called automatically by DepictionEngine.DisposeManager immediately after DepictionEngine.IDisposable.OnDisposing unless the object was Destroyed as a result of an Editor action.
 
bool Equals (Disposable.Null value)
 
void ResetId ()
 Resets the Id to DepictionEngine.SerializableGuid.Empty.
 

Static Public Member Functions

static PoolManager Instance (bool createIfMissing=true)
 Get a singleton of the manager.
 
- Static Public Member Functions inherited from DepictionEngine.ManagerBase
static T GetManagerComponent< T > (bool createIfMissing=true)
 
- Static Public Member Functions inherited from DepictionEngine.PropertyMonoBehaviour
static int GetPropertyKey (string name)
 Returns a key for the property name.
 
- Static Public Member Functions inherited from DepictionEngine.MonoBehaviourDisposable
static bool InitValueInternal< T > (Action< T > callback, T defaultValue, Func< T > duplicateValue, InitializationContext initializingContext)
 
static bool InitValueInternal< T > (Action< T > callback, T defaultValue, InitializationContext initializingContext)
 
static bool operator!= (MonoBehaviourDisposable lhs, Disposable.Null rhs)
 
static bool operator== (MonoBehaviourDisposable lhs, Disposable.Null _)
 

Protected Member Functions

override void InitializeSerializedFields (InitializationContext initializingContext)
 Initialize SerializedField's to their default values.
 
override bool UpdateAllDelegates ()
 Function to initialize event handlers.
 
override void IterateOverChildren (Action< PropertyMonoBehaviour > callback)
 
- Protected Member Functions inherited from DepictionEngine.ManagerBase
override bool InitializeLastFields ()
 
override bool AddInstanceToManager ()
 Should this object be added to the DepictionEngine.InstanceManager.
 
override bool CanBeDisabled ()
 
override bool UpdateHideFlags ()
 
- Protected Member Functions inherited from DepictionEngine.JsonMonoBehaviour
override void Initializing ()
 The first step of the initialization process.
 
virtual JSONObject GetInitializationJson (JSONObject initializeJSON)
 
override bool InitializeLastFields ()
 
override void InitializeSerializedFields (InitializationContext initializingContext)
 Initialize SerializedField's to their default values.
 
override bool Initialize (InitializationContext initializingContext)
 The main initialization function.
 
override SerializableGuid GetId (SerializableGuid id, InitializationContext initializingContext)
 
virtual void EnabledChanged (bool newValue, bool oldValue)
 
- Protected Member Functions inherited from DepictionEngine.PropertyMonoBehaviour
virtual void IterateOverComponentReference (Action< SerializableGuid, Action > callback)
 
override void Initializing ()
 The first step of the initialization process.
 
override void InitializeUID (InitializationContext initializingContext)
 Initializes the object's unique identifiers.
 
virtual SerializableGuid GetId (SerializableGuid id, InitializationContext initializingContext)
 
override bool Initialize (InitializationContext initializingContext)
 The main initialization function.
 
virtual void InitializeFieldsBeforeChildren (InitializationContext initializingContext)
 
virtual void InitializeSerializedFieldsBeforeChildren (InitializationContext initializingContext)
 Initialize SerializedField's to their default values.
 
virtual void CreateAndInitializeDependencies (InitializationContext initializingContext)
 
virtual void InitializeFields (InitializationContext initializingContext)
 
virtual void InitializeSerializedFields (InitializationContext initializingContext)
 Initialize SerializedField's to their default values.
 
virtual bool InitializeLastFields ()
 
virtual bool AddInstanceToManager ()
 Should this object be added to the DepictionEngine.InstanceManager.
 
override bool AddToInstanceManager ()
 Add the object to the DepictionEngine.InstanceManager if possible.
 
override bool UpdateAllDelegates ()
 Function to initialize event handlers.
 
virtual void InstanceAddedHandler (IProperty property)
 
virtual void InstanceRemovedHandler (IProperty property)
 
virtual bool RemoveParentDelegates (PropertyMonoBehaviour parent)
 
virtual bool AddParentDelegates (PropertyMonoBehaviour parent)
 
virtual bool RemoveChildDelegates (PropertyMonoBehaviour child)
 
virtual bool AddChildDelegates (PropertyMonoBehaviour child)
 
virtual PropertyMonoBehaviour GetParent ()
 
void UpdateSiblings ()
 
virtual void UpdateChildren ()
 
InitializeComponent< T > (T component, JSONObject json=null, bool isFallbackValues=false)
 
virtual bool ParentHasChanged ()
 
virtual bool SiblingsHasChanged ()
 
virtual bool ChildrenHasChanged ()
 
List< T > GetComponentFromId< T > (List< SerializableGuid > ids)
 
GetComponentFromId< T > (SerializableGuid id)
 
List< SerializableGuidGetDuplicateComponentReferenceId< T > (List< SerializableGuid > ids, List< T > componentReferences, InitializationContext initializingContext)
 
SerializableGuid GetDuplicateComponentReferenceId< T > (SerializableGuid id, T componentReference, InitializationContext initializingContext)
 
virtual bool SetValue< T > (string name, T value, ref T valueField, Action< T, T > assignedCallback=null, bool allowAutoDisposeOnOutOfSynchProperty=false)
 
bool HasChanged< T > (T newValue, T oldValue, bool forceChangeDuringInitializing=true)
 Are the two objects equals?
 
void PropertyAssigned< T > (IProperty property, string name, T newValue, T oldValue)
 
virtual Type GetParentType ()
 
virtual Type GetSiblingType ()
 
virtual Type GetChildType ()
 
virtual bool CanBeDisabled ()
 
override void OnDisable ()
 
override void OnEnable ()
 
virtual void ActiveAndEnabledChanged (bool newValue, bool oldValue)
 
virtual PropertyMonoBehaviour GetRootParent ()
 
virtual PropertyMonoBehaviour ValidatedParent (PropertyMonoBehaviour value)
 
virtual bool SetParent (PropertyMonoBehaviour value)
 
virtual void ParentChanged (PropertyMonoBehaviour newValue, PropertyMonoBehaviour oldValue)
 
virtual bool AddChild (PropertyMonoBehaviour child)
 
virtual bool RemoveChild (PropertyMonoBehaviour child)
 
virtual bool ApplyBeforeChildren (Action< PropertyMonoBehaviour > callback)
 
virtual void IterateOverChildren (Action< PropertyMonoBehaviour > callback=null)
 
bool RemoveListItem< T > (List< T > list, T property)
 
void IterateThroughList< T > (IList< T > list, Action< T > callback)
 
virtual bool ApplyAfterChildren (Action< PropertyMonoBehaviour > callback)
 
bool TriggerCallback< T > (T child, Action< T > callback)
 
virtual void ClearDirtyFlags ()
 
- Protected Member Functions inherited from DepictionEngine.MonoBehaviourDisposable
virtual void Awake ()
 
bool IsDuplicateInitializing ()
 
virtual void DestroyAfterFailedInitialization ()
 
virtual void Initializing ()
 The first step of the initialization process.
 
virtual void InitializeUID (InitializationContext initializingContext)
 Initializes the object's unique identifiers.
 
virtual bool AddToInstanceManager ()
 Add the object to the DepictionEngine.InstanceManager if possible.
 
virtual bool Initialize (InitializationContext initializingContext)
 The main initialization function.
 
virtual bool IsValidInitialization (InitializationContext initializingContext)
 Provides the ability to interrupt the initialization.
 
bool InitValue< T > (Action< T > callback, T defaultValue, InitializationContext initializingContext)
 
bool InitValue< T > (Action< T > callback, T defaultValue, Func< T > duplicateValue, InitializationContext initializingContext)
 
virtual bool IsFullyInitialized ()
 
virtual bool UpdateAllDelegates ()
 Function to initialize event handlers.
 
virtual void Saving (UnityEngine.SceneManagement.Scene scene, string path)
 
virtual void Saved (UnityEngine.SceneManagement.Scene scene)
 
virtual bool LateInitialize (InitializationContext initializingContext)
 Every other objects are initialized at this point.
 
virtual bool PostLateInitialize (InitializationContext initializingContext)
 Every other objects are initialized at this point.
 
bool IsFallbackValues ()
 
bool IsNotFallbackValues ()
 
bool IsDestroying ()
 Is the object destroying?
 
virtual bool UpdateHideFlags ()
 
virtual DisposeContext GetDisposingContext ()
 
virtual void OnEnable ()
 
virtual void OnDisable ()
 

Properties

bool enablePooling [get, set]
 When enabled, pooling improves performance by reusing the instances to reduce the number of expensive operations such as object creation or garbage collection. The trade-off is an increased memory footprint.
 
int maxSize [get, set]
 The maximum number of instances of each type we can keep. The excess instances will be deleted.
 
float resizeInterval [get, set]
 The interval (in seconds) at which we call the DepictionEngine.PoolManager.ResizePools function.
 
int destroyCount [get, set]
 How many instances should we destroy at a time during each DepictionEngine.PoolManager.ResizePools calls to bring use closer to our DepictionEngine.PoolManager.maxSize.
 
- Properties inherited from DepictionEngine.ManagerBase
bool gameObjectActiveSelf [get, set]
 
- Properties inherited from DepictionEngine.JsonMonoBehaviour
JSONNode initializationJson [get]
 
new bool enabled [get, set]
 Enabled Behaviours are Updated, disable Behaviours are not.
 
- Properties inherited from DepictionEngine.PropertyMonoBehaviour
Type type [get]
 The Cass type.
 
List< PropertyMonoBehaviourchildren [get]
 
Action< IProperty, string, object, object > PropertyAssignedEvent [get, set]
 Dispatched when a new value as been assigned to a field using the DepictionEngine.PropertyMonoBehaviour.SetValue method.
 
SerializableGuid id [get]
 Global unique identifier.
 
bool activeAndEnabled [get]
 Returns true if gameObject.activeInHierarchy == true and enabled == true.
 
PropertyMonoBehaviour parent [get, set]
 The object above in the hierarchy.
 
virtual JSONNode parentJson [get, set]
 
- Properties inherited from DepictionEngine.MonoBehaviourDisposable
bool wasFirstUpdated [get]
 
bool initialized [get]
 Has the object been initialized.
 
bool instanceAdded [get, set]
 
bool isFallbackValues [get]
 Was this component created by a DepictionEngine.FallbackValues.
 
IScriptableBehaviour originator [get]
 Which DepictionEngine.IScriptableBehaviour triggered the current code execution if any at all.
 
DisposeContext disposingContext [get]
 The DepictionEngine.DisposeContext under which the object was destroyed.
 
bool poolComplete [get, set]
 Is the object done disposing.
 
Action< IDisposableInitializedEvent [get, set]
 Dispatched after the object as been initialized.
 
Action< IDisposable, DisposeContextDisposedEvent [get, set]
 Dispatched during the DepictionEngine.MonoBehaviourDisposable.OnDispose, DepictionEngine.ScriptableObjectDisposable.OnDispose or DepictionEngine.Disposable.OnDispose.
 
SceneManager sceneManager [get]
 
InstanceManager instanceManager [get]
 
DatasourceManager datasourceManager [get]
 
TweenManager tweenManager [get]
 
InputManager inputManager [get]
 
CameraManager cameraManager [get]
 
PoolManager poolManager [get]
 
RenderingManager renderingManager [get]
 
- Properties inherited from DepictionEngine.IScriptableBehaviour
string name [get, set]
 
bool isFallbackValues [get]
 Was this component created by a DepictionEngine.FallbackValues.
 
IScriptableBehaviour originator [get]
 Which DepictionEngine.IScriptableBehaviour triggered the current code execution if any at all.
 
- Properties inherited from DepictionEngine.IDisposable
Action< IDisposableInitializedEvent [get, set]
 Dispatched after the object as been initialized.
 
Action< IDisposable, DisposeContextDisposedEvent [get, set]
 Dispatched during the DepictionEngine.MonoBehaviourDisposable.OnDispose, DepictionEngine.ScriptableObjectDisposable.OnDispose or DepictionEngine.Disposable.OnDispose.
 
bool initialized [get]
 Has the object been initialized.
 
bool poolComplete [get, set]
 Is the object done disposing.
 
DisposeContext disposingContext [get]
 The DepictionEngine.DisposeContext under which the object was destroyed.
 
- Properties inherited from DepictionEngine.IProperty
SerializableGuid id [get]
 The DepictionEngine.SerializableGuid of the object.
 
Action< IProperty, string, object, object > PropertyAssignedEvent [get, set]
 Dispatched when a new value as been assigned to a field using the DepictionEngine.PropertyMonoBehaviour.SetValue method.
 

Additional Inherited Members

- Protected Attributes inherited from DepictionEngine.PropertyMonoBehaviour
bool ignoreGameObjectActiveChange
 

Detailed Description

Singleton managing the pooling of objects.

Member Function Documentation

◆ Initialized()

override void DepictionEngine.PoolManager.Initialized ( InitializationContext  initializingContext)
virtual

Acts as a reliable constructor and will always by called unlike Awake which is sometimes skipped during Undo / Redo operations.

Parameters
initializingContext

Reimplemented from DepictionEngine.MonoBehaviourDisposable.

◆ InitializeSerializedFields()

override void DepictionEngine.PoolManager.InitializeSerializedFields ( InitializationContext  initializingContext)
protectedvirtual

Initialize SerializedField's to their default values.

Parameters
initializingContext

Reimplemented from DepictionEngine.PropertyMonoBehaviour.

◆ Instance()

static PoolManager DepictionEngine.PoolManager.Instance ( bool  createIfMissing = true)
static

Get a singleton of the manager.

Parameters
createIfMissingIf true a new instance will be created if one doesn't already exist.
Returns
An instance of the manager if the context allows.

◆ IterateOverChildren()

override void DepictionEngine.PoolManager.IterateOverChildren ( Action< PropertyMonoBehaviour callback)
protectedvirtual

◆ IterateOverChildrenAndSiblings()

override void DepictionEngine.PoolManager.IterateOverChildrenAndSiblings ( Action< PropertyMonoBehaviour callback)
virtual

◆ OnDispose()

override bool DepictionEngine.PoolManager.OnDispose ( DisposeContext  disposeContext)
virtual

This is where you dispose any remaining dependencies.

Parameters
disposeContextThe context under which the object is being destroyed.
Returns
False if the object was already disposed otherwise True.

Reimplemented from DepictionEngine.MonoBehaviourDisposable.

◆ UpdateAllDelegates()

override bool DepictionEngine.PoolManager.UpdateAllDelegates ( )
protectedvirtual

Function to initialize event handlers.

Returns

Reimplemented from DepictionEngine.MonoBehaviourDisposable.


The documentation for this class was generated from the following file: