/// <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."); } }