private void UserInterfaceOnOnReceiveMessage(ServerBoundUserInterfaceMessage serverMsg)
        {
            if (!Powered)
            {
                return;
            }

            if (serverMsg.Message is not SpaceVillainArcadePlayerActionMessage msg)
            {
                return;
            }

            switch (msg.PlayerAction)
            {
            case PlayerAction.Attack:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.Heal:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.Recharge:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.NewGame:
                SoundSystem.Play(Filter.Pvs(Owner), _newGameSound.GetSound(), Owner, AudioParams.Default.WithVolume(-4f));

                _game = new SpaceVillainGame(this);
                UserInterface?.SendMessage(_game.GenerateMetaDataMessage());
                break;

            case PlayerAction.RequestData:
                UserInterface?.SendMessage(_game.GenerateMetaDataMessage());
                break;
            }
        }
        private void UserInterfaceOnOnReceiveMessage(ServerBoundUserInterfaceMessage serverMsg)
        {
            if (!Powered)
            {
                return;
            }

            if (serverMsg.Message is not SpaceVillainArcadePlayerActionMessage msg)
            {
                return;
            }

            switch (msg.PlayerAction)
            {
            case PlayerAction.Attack:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.Heal:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.Recharge:
                _game?.ExecutePlayerAction(msg.PlayerAction);
                break;

            case PlayerAction.NewGame:
                EntitySystem.Get <AudioSystem>().PlayFromEntity("/Audio/Effects/Arcade/newgame.ogg", Owner, AudioParams.Default.WithVolume(-4f));
                _game = new SpaceVillainGame(this);
                UserInterface?.SendMessage(_game.GenerateMetaDataMessage());
                break;

            case PlayerAction.RequestData:
                UserInterface?.SendMessage(_game.GenerateMetaDataMessage());
                break;
            }
        }