refactor: IHierarchyObject Nullable IGameManager to Non-Nullable

Since in a typical use case of these classes they are already in the
hierarchy and it bloats the behaviour code with lots of null checks
This commit is contained in:
2024-11-17 21:57:00 +03:00
parent cc4068fa2e
commit c0c48c7d51
4 changed files with 10 additions and 9 deletions

View File

@@ -17,9 +17,9 @@ public abstract class HierarchyObjectBase : IHierarchyObject
private string _name = nameof(HierarchyObjectBase);
private bool _initialized = false;
private IStateEnable _stateEnable = null!;
private IGameManager? _gameManager = null;
private IGameManager _gameManager = null!;
public IGameManager? GameManager => _gameManager;
public IGameManager GameManager => _gameManager;
public bool IsInHierarchy => _gameManager is not null;
@@ -134,7 +134,7 @@ public abstract class HierarchyObjectBase : IHierarchyObject
if (!IsInHierarchy || _gameManager is not IGameManager gameManager)
return false;
_gameManager = null;
_gameManager = null!;
OnExitingHierarchy(gameManager);
OnExitedHierarchy?.Invoke(this, gameManager);
return true;