public override void Dispose()
        {
            base.Dispose();

            if (PlayerInputManager != null)
            {
                PlayerInputManager.Dispose();
                PlayerInputManager = null;
            }

            if (PlayerCameraManager != null)
            {
                PlayerCameraManager.Dispose();
                PlayerCameraManager = null;
            }

            if (PlayerHUDManager != null)
            {
                PlayerHUDManager.Dispose();
                PlayerHUDManager = null;
            }
        }