Exemple #1
0
    /// <summary>
    /// Intenta moverse en la dirección dada. Si esta dirección no pertenece a una salida, no se mueve.
    /// </summary>
    /// <param name="directionNoun"></param>
    public void AttemptToChangeRooms(DirectionKeyword directionNoun)
    {
        if (converter == null)
        {
            converter = KeywordToStringConverter.Instance;
        }

        if (exitDictionary.ContainsKey(directionNoun))
        {
            foreach (Exit e in currentRoom.exits)
            {
                if (e.myKeyword == directionNoun && !e.isAble)
                {
                    controller.LogStringWithReturn("No puedes ir en esa dirección.");
                    return;
                }
            }

            Exit exitToGo = exitDictionary[directionNoun];

            if (exitToGo.exitActionDescription == "")
            {
                controller.LogStringWithReturn("Te diriges hacia el " + converter.ConvertFromKeyword(directionNoun) + ".");
            }
            else
            {
                controller.LogStringWithReturn(exitToGo.exitActionDescription);
            }

            HideEnemies();

            currentRoom     = exitDictionary[directionNoun].conectedRoom;
            currentPosition = currentRoom.roomPosition;

            miniMapper.MovePlayerInMap(currentPosition);
            equipManager.updateText();
            inventoryManager.DisplayInventory();

            if (GlobalVariables.ContainsVariable("diario"))
            {
                if (GlobalVariables.GetValueOf("diario") == 1)
                {
                    controller.questManager.updateQuests();
                }
            }

            PlayerChangedRooms();             //Añadido para network

            controller.DisplayRoomText();
        }
        else if (directionNoun != DirectionKeyword.unrecognized)
        {
            controller.LogStringWithReturn("No hay caminos hacia el " + converter.ConvertFromKeyword(directionNoun) + ".");
        }
        else
        {
            controller.LogStringWithReturn("Eso sería bastante difícil.");
        }
    }