public override void gameCommandProcessor(GameMessage message)
        {
            switch (message.Command)
            {
            case "PLAYEDASMANA":
                processPlayedAsMana(message);
                break;

            case "SETPHASE":
                parent.updateGameState(false, message.stringArguments[0]);
                break;

            case "YOURTURN":
                parent.startTurn();
                break;

            case "ROLLON":
                parent.DrawCard(getCardWithGamePropertiesByID(message.intArguments[0]));
                parent.addLoadEvent(new Animations.Animation(parent.loadManaPhase));
                break;

            case "YOURECEIVEDCARD":
                processReceivedCard(message);
                break;

            case "OPPRECEIVEDCARD":
                parent.processOppDrew();
                break;

            case "SUMMON":
                processSummon(message);
                break;

            case "ATTACKSAFEGUARDS":
                processAttackSafeguards(message);
                break;

            case "YOURGUARDSBROKE":
                parent.yourGuardsBroke(message.intArguments);
                break;

            case "YOUBROKEGUARDS":
                parent.youBrokeGuards(message.intArguments);
                break;

            case "ATTACKCREATURE":
                processAttackCreature(message);
                break;

            case "ATTACKPLAYER":
                processAttackPlayer(message);
                break;

            case "BATTLE":
                processBattle(message);
                break;

            case "SENDTO":
                processSendTo(message);
                break;

            case "OPPSURRENDERED":
                send(new ClientMessage("CLOSEROOM", new List <string>()
                {
                    GameRoomID.ToString()
                }));
                parent.loadEndGame(true);
                break;

            default: break;
            }
        }