refactor!: IGameObject removed
This commit is contained in:
@@ -6,9 +6,8 @@ public abstract class Behaviour : BehaviourBase
|
||||
{
|
||||
private bool isInitializedThisFrame = false;
|
||||
|
||||
protected IGameManager GameManager => BehaviourController.GameObject.GameManager;
|
||||
protected IGameObject GameObject => BehaviourController.GameObject;
|
||||
protected ITransform Transform => BehaviourController.GameObject.Transform;
|
||||
protected IGameManager GameManager => BehaviourController.HierarchyObject.GameManager;
|
||||
protected IHierarchyObject HierarchyObject => BehaviourController.HierarchyObject;
|
||||
|
||||
public Behaviour()
|
||||
{
|
||||
@@ -18,43 +17,43 @@ public abstract class Behaviour : BehaviourBase
|
||||
}
|
||||
|
||||
protected virtual void OnUnassign() { }
|
||||
private void OnUnassign(IAssignable assignable) => OnUnassign();
|
||||
protected virtual void OnUnassign(IAssignable assignable) => OnUnassign();
|
||||
|
||||
protected virtual void OnInitialize() { }
|
||||
private void OnInitialize(IInitialize _)
|
||||
protected virtual void OnInitialize(IInitializable _)
|
||||
{
|
||||
isInitializedThisFrame = true;
|
||||
|
||||
BehaviourController.OnPreUpdate += PreUpdate;
|
||||
BehaviourController.OnPreDraw += PreDraw;
|
||||
BehaviourController.OnUpdate += Update;
|
||||
BehaviourController.GameObject.OnEnteredHierarchy += EnteredHierarchy;
|
||||
BehaviourController.GameObject.OnExitedHierarchy += ExitedHierarchy;
|
||||
BehaviourController.HierarchyObject.OnEnteredHierarchy += EnteredHierarchy;
|
||||
BehaviourController.HierarchyObject.OnExitedHierarchy += ExitedHierarchy;
|
||||
|
||||
OnInitialize();
|
||||
|
||||
if (GameObject.IsInHierarchy)
|
||||
EnteredHierarchy(GameObject, GameManager);
|
||||
if (HierarchyObject.IsInHierarchy)
|
||||
EnteredHierarchy(HierarchyObject, GameManager);
|
||||
}
|
||||
|
||||
protected virtual void OnFinalize() { }
|
||||
private void OnFinalize(IInitialize _)
|
||||
protected virtual void OnFinalize(IInitializable _)
|
||||
{
|
||||
BehaviourController.OnPreUpdate -= PreUpdate;
|
||||
BehaviourController.OnPreDraw -= PreDraw;
|
||||
BehaviourController.OnUpdate -= Update;
|
||||
BehaviourController.GameObject.OnEnteredHierarchy -= EnteredHierarchy;
|
||||
BehaviourController.GameObject.OnExitedHierarchy -= ExitedHierarchy;
|
||||
BehaviourController.HierarchyObject.OnEnteredHierarchy -= EnteredHierarchy;
|
||||
BehaviourController.HierarchyObject.OnExitedHierarchy -= ExitedHierarchy;
|
||||
|
||||
OnFinalize();
|
||||
|
||||
if (GameObject.IsInHierarchy)
|
||||
ExitedHierarchy(GameObject, GameManager);
|
||||
if (HierarchyObject.IsInHierarchy)
|
||||
ExitedHierarchy(HierarchyObject, GameManager);
|
||||
}
|
||||
|
||||
protected virtual void OnPreUpdatePreActiveCheck() { }
|
||||
protected virtual void OnPreUpdate() { }
|
||||
private void PreUpdate(IBehaviourController _)
|
||||
protected virtual void PreUpdate(IBehaviourController _)
|
||||
{
|
||||
OnPreUpdatePreActiveCheck();
|
||||
|
||||
@@ -68,7 +67,7 @@ public abstract class Behaviour : BehaviourBase
|
||||
}
|
||||
|
||||
protected virtual void OnFirstActiveFrame() { }
|
||||
private void FirstActiveFrame()
|
||||
protected virtual void FirstActiveFrame()
|
||||
{
|
||||
OnFirstActiveFrame();
|
||||
isInitializedThisFrame = false;
|
||||
@@ -76,7 +75,7 @@ public abstract class Behaviour : BehaviourBase
|
||||
|
||||
protected virtual void OnUpdatePreActiveCheck() { }
|
||||
protected virtual void OnUpdate() { }
|
||||
private void Update(IBehaviourController _)
|
||||
protected virtual void Update(IBehaviourController _)
|
||||
{
|
||||
OnUpdatePreActiveCheck();
|
||||
|
||||
@@ -88,7 +87,7 @@ public abstract class Behaviour : BehaviourBase
|
||||
|
||||
protected virtual void OnPreDrawPreActiveCheck() { }
|
||||
protected virtual void OnPreDraw() { }
|
||||
private void PreDraw(IBehaviourController _)
|
||||
protected virtual void PreDraw(IBehaviourController _)
|
||||
{
|
||||
OnPreDrawPreActiveCheck();
|
||||
|
||||
@@ -99,8 +98,8 @@ public abstract class Behaviour : BehaviourBase
|
||||
}
|
||||
|
||||
protected virtual void OnEnteredHierarchy(IGameManager gameManager) { }
|
||||
private void EnteredHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnEnteredHierarchy(gameManager);
|
||||
protected virtual void EnteredHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnEnteredHierarchy(gameManager);
|
||||
|
||||
protected virtual void OnExitedHierarchy(IGameManager gameManager) { }
|
||||
private void ExitedHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnExitedHierarchy(gameManager);
|
||||
protected virtual void ExitedHierarchy(IHierarchyObject sender, IGameManager gameManager) => OnExitedHierarchy(gameManager);
|
||||
}
|
||||
|
Reference in New Issue
Block a user