refactor: got rid of the static Time class and implemented EngineTime on IGameManager
This commit is contained in:
@@ -19,7 +19,6 @@ public class GameManager : BaseEntity, IGameManager
|
||||
private readonly List<IHierarchyObject> _hierarchyObjects = new(Constants.GAME_OBJECTS_SIZE_INITIAL);
|
||||
|
||||
private HierarchyObjectFactory _hierarchyObjectFactory = null!;
|
||||
|
||||
private HierarchyObjectFactory HierarchyObjectFactory
|
||||
{
|
||||
get
|
||||
@@ -46,6 +45,8 @@ public class GameManager : BaseEntity, IGameManager
|
||||
}
|
||||
}
|
||||
|
||||
public EngineTime Time { get; private set; } = new();
|
||||
|
||||
public void Register(IHierarchyObject hierarchyObject)
|
||||
{
|
||||
if (_hierarchyObjects.Contains(hierarchyObject))
|
||||
@@ -113,13 +114,14 @@ public class GameManager : BaseEntity, IGameManager
|
||||
HierarchyObjects[i].Finalize();
|
||||
}
|
||||
|
||||
public void Update(EngineTime time)
|
||||
public void Update(EngineTime engineTime)
|
||||
{
|
||||
Time.SetTime(time);
|
||||
Time = engineTime;
|
||||
|
||||
for (int i = 0; i < HierarchyObjects.Count; i++)
|
||||
HierarchyObjects[i].BehaviourController.Update();
|
||||
|
||||
OnUpdate?.Invoke(this, time);
|
||||
OnUpdate?.Invoke(this, engineTime);
|
||||
}
|
||||
|
||||
public void PreDraw()
|
||||
@@ -130,8 +132,6 @@ public class GameManager : BaseEntity, IGameManager
|
||||
OnPreDraw?.Invoke(this);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
|
||||
private void OnHierarchyObjectFinalize(IInitializable initializable)
|
||||
{
|
||||
if (initializable is IHierarchyObject hierarchyObject)
|
||||
|
||||
Reference in New Issue
Block a user