refactor!: renamed GameManager to Universe and HierarchyObject to UniverseObject
This commit is contained in:
@@ -16,7 +16,7 @@ public class BehaviourController : IBehaviourController
|
||||
|
||||
public event IBehaviourController.BehaviourAddedEventHandler? OnBehaviourAdded = null;
|
||||
public event IBehaviourController.BehaviourRemovedEventHandler? OnBehaviourRemoved = null;
|
||||
public event IHasHierarchyObject.HierarchyObjectAssignedEventHandler? OnHierarchyObjectAssigned = null;
|
||||
public event IHasUniverseObject.UniverseObjectAssignedEventHandler? OnUniverseObjectAssigned = null;
|
||||
|
||||
public event IInitializable.InitializedEventHandler? OnInitialized = null;
|
||||
public event IInitializable.FinalizedEventHandler? OnFinalized = null;
|
||||
@@ -25,10 +25,10 @@ public class BehaviourController : IBehaviourController
|
||||
|
||||
private readonly IList<IBehaviour> behaviours = new List<IBehaviour>(Constants.BEHAVIOURS_SIZE_INITIAL);
|
||||
|
||||
private IHierarchyObject _hierarchyObject = null!;
|
||||
private IUniverseObject _universeObject = null!;
|
||||
private bool _initialized = false;
|
||||
|
||||
public IHierarchyObject HierarchyObject => _hierarchyObject;
|
||||
public IUniverseObject UniverseObject => _universeObject;
|
||||
|
||||
public bool IsInitialized
|
||||
{
|
||||
@@ -60,7 +60,7 @@ public class BehaviourController : IBehaviourController
|
||||
}
|
||||
|
||||
public T AddBehaviour<T>(params object?[]? args) where T : class, IBehaviour
|
||||
=> AddBehaviour(Factory.BehaviourFactory.Instantiate<T>(_hierarchyObject, args));
|
||||
=> AddBehaviour(Factory.BehaviourFactory.Instantiate<T>(_universeObject, args));
|
||||
|
||||
public T? GetBehaviour<T>()
|
||||
{
|
||||
@@ -115,7 +115,7 @@ public class BehaviourController : IBehaviourController
|
||||
public void RemoveBehaviour<T>(T behaviour) where T : class, IBehaviour
|
||||
{
|
||||
if (!behaviours.Contains(behaviour))
|
||||
throw new Exception($"{behaviour.GetType().Name} does not exist in {HierarchyObject.Name}'s {nameof(IBehaviourController)}.");
|
||||
throw new Exception($"{behaviour.GetType().Name} does not exist in {UniverseObject.Name}'s {nameof(IBehaviourController)}.");
|
||||
|
||||
behaviour.OnPriorityChanged -= OnPriorityChange;
|
||||
behaviour.Finalize();
|
||||
@@ -123,15 +123,15 @@ public class BehaviourController : IBehaviourController
|
||||
OnBehaviourRemoved?.InvokeSafe(this, behaviour);
|
||||
}
|
||||
|
||||
protected virtual void OnAssign(IHierarchyObject hierarchyObject) { }
|
||||
public bool Assign(IHierarchyObject hierarchyObject)
|
||||
protected virtual void OnAssign(IUniverseObject universeObject) { }
|
||||
public bool Assign(IUniverseObject universeObject)
|
||||
{
|
||||
if (HierarchyObject is not null && HierarchyObject.IsInitialized)
|
||||
if (UniverseObject is not null && UniverseObject.IsInitialized)
|
||||
return false;
|
||||
|
||||
_hierarchyObject = hierarchyObject;
|
||||
OnAssign(hierarchyObject);
|
||||
OnHierarchyObjectAssigned?.InvokeSafe(this);
|
||||
_universeObject = universeObject;
|
||||
OnAssign(universeObject);
|
||||
OnUniverseObjectAssigned?.InvokeSafe(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ public class BehaviourController : IBehaviourController
|
||||
if (IsInitialized)
|
||||
return false;
|
||||
|
||||
Debug.AssertHelpers.AssertHierarchyObjectAssigned(this);
|
||||
Debug.AssertHelpers.AssertUniverseObjectAssigned(this);
|
||||
|
||||
foreach (IBehaviour behaviour in behaviours)
|
||||
behaviour.Initialize();
|
||||
@@ -166,14 +166,14 @@ public class BehaviourController : IBehaviourController
|
||||
if (IsInitialized)
|
||||
return false;
|
||||
|
||||
_hierarchyObject = null!;
|
||||
_universeObject = null!;
|
||||
OnUnassigned?.InvokeSafe(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (!HierarchyObject.StateEnable.Enabled)
|
||||
if (!UniverseObject.StateEnable.Enabled)
|
||||
return;
|
||||
|
||||
OnPreUpdate?.InvokeSafe(this);
|
||||
@@ -182,14 +182,14 @@ public class BehaviourController : IBehaviourController
|
||||
|
||||
public void UpdatePreDraw()
|
||||
{
|
||||
if (!HierarchyObject.StateEnable.Enabled)
|
||||
if (!UniverseObject.StateEnable.Enabled)
|
||||
return;
|
||||
|
||||
OnPreDraw?.InvokeSafe(this);
|
||||
}
|
||||
|
||||
public BehaviourController() { }
|
||||
public BehaviourController(IHierarchyObject hierarchyObject) => Assign(hierarchyObject);
|
||||
public BehaviourController(IUniverseObject universeObject) => Assign(universeObject);
|
||||
|
||||
private void InsertBehaviourByPriority<T>(T behaviour) where T : class, IBehaviour
|
||||
{
|
||||
|
Reference in New Issue
Block a user