feat: Improved Entering & Exiting of Hierarchy Objects
This commit is contained in:
@@ -33,7 +33,7 @@ public abstract class Behaviour : BehaviourBase
|
||||
OnInitialize();
|
||||
|
||||
if (GameObject.IsInHierarchy)
|
||||
EnteredHierarchy(GameObject);
|
||||
EnteredHierarchy(GameObject, GameObject.GameManager ?? throw new System.Exception("Unexpected Error"));
|
||||
}
|
||||
|
||||
protected virtual void OnFinalize() { }
|
||||
@@ -44,7 +44,11 @@ public abstract class Behaviour : BehaviourBase
|
||||
BehaviourController.OnUpdate -= Update;
|
||||
BehaviourController.GameObject.OnEnteredHierarchy -= EnteredHierarchy;
|
||||
BehaviourController.GameObject.OnExitedHierarchy -= ExitedHierarchy;
|
||||
|
||||
OnFinalize();
|
||||
|
||||
if (GameObject.IsInHierarchy)
|
||||
ExitedHierarchy(GameObject, GameObject.GameManager ?? throw new System.Exception("Unexpected Error"));
|
||||
}
|
||||
|
||||
protected virtual void OnPreUpdatePreActiveCheck() { }
|
||||
@@ -93,9 +97,9 @@ public abstract class Behaviour : BehaviourBase
|
||||
OnPreDraw();
|
||||
}
|
||||
|
||||
protected virtual void OnEnteredHierarchy() { }
|
||||
private void EnteredHierarchy(IHierarchyObject sender) => OnEnteredHierarchy();
|
||||
protected virtual void OnEnteredHierarchy(IGameManager gameManager) { }
|
||||
private void EnteredHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnEnteredHierarchy(gameManager);
|
||||
|
||||
protected virtual void OnExitedHierarchy() { }
|
||||
private void ExitedHierarchy(IHierarchyObject sender) => OnExitedHierarchy();
|
||||
protected virtual void OnExitedHierarchy(IGameManager gameManager) { }
|
||||
private void ExitedHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnExitedHierarchy(gameManager);
|
||||
}
|
||||
|
Reference in New Issue
Block a user