public void EquipObject(InteractableObject objectToEquip) { Interaction equipInteraction = null; Equip equip = null; try { equip = objectToEquip as Equip; } catch { controller.LogStringWithReturn("Eso no es un equipo."); } for (int i = 0; i < objectToEquip.interactions.Length; i++) { if (objectToEquip.interactions[i].inputAction.GetType() == typeof(EquipInput)) { equipInteraction = objectToEquip.interactions[i]; //Revisar si debo hacerlo por cada tipo de una vez aquí. break; } } if (equipInteraction == null) { string objectToDisplay = objectToEquip.objectName; if (objectToEquip.nounGender == InteractableObject.WordGender.male) { objectToDisplay = "el " + objectToEquip.objectName; } else { objectToDisplay = "la " + objectToEquip.objectName; } controller.LogStringWithReturn("No puedes equiparte " + objectToDisplay + "."); return; } if (equipInteraction.isInverseInteraction) { controller.LogStringWithReturn(equipInteraction.textResponse); return; } controller.LogStringWithReturn(equipInteraction.textResponse); equipManager.put(equip); for (int i = 0; i < controller.playerRoomNavigation.currentRoom.visibleObjectsInRoom.Count; i++) { if (controller.playerRoomNavigation.currentRoom.visibleObjectsInRoom[i].interactableObject == objectToEquip) { controller.playerRoomNavigation.currentRoom.visibleObjectsInRoom.RemoveAt(i); break; } } for (int i = 0; i < inventoryManager.nounsInInventory.Count; i++) { if (inventoryManager.nounsInInventory[i] == objectToEquip) { inventoryManager.nounsInInventory.RemoveAt(i); break; } } inventoryManager.DisplayInventory(); equipInteraction.applyEffects(); controller.questManager.updateQuests(); if (equipInteraction.actionResponse == null) { return; } bool action = equipInteraction.actionResponse.DoActionResponse(controller); if (action) { controller.LogStringWithReturn(equipInteraction.actionResponse.responseDescription); foreach (InteractableObject i in inventoryManager.nounsInInventory) { if (i == equip) { } } } else { controller.LogStringWithReturn(equipInteraction.actionResponse.negationDescription); } }