void ResetGame() { UnRegisterEntityEvents(); _gameEvents = null; _cameraController.Cleanup(); _monsterCreator.Cleanup(); _mapController.Cleanup(); _entityController.Cleanup(); _timeController.Cleanup(); _input.OnLayoutChanged += _hud.OnInputLayoutChanged; _hud.Cleanup(); Destroy(_hud.gameObject); }