示例#1
0
    private void PrepareInteractableInLocationForTakeExamineDrop(Location currentLocation)
    {
        for (int i = 0; i < currentLocation.locationInteractableObjects.Length; i++)
        {
            string interactableDescriptionNotInInventory = im.GetLocationInteractableNotInInventory(currentLocation, i);

            if (interactableDescriptionNotInInventory != null)
            {
                interactionDescriptionInLocation.Add(interactableDescriptionNotInInventory);
            }
            Interactable interactable = currentLocation.locationInteractableObjects[i];

            for (int j = 0; j < interactable.interactions.Length; j++)
            {
                Interaction interaction = interactable.interactions[j];

                if (interaction.inputActionInteraction.actionKeyWord == "examine")
                {
                    im.examineDictionary.Add(interactable.noun, interaction.textResponse);
                }

                if (interaction.inputActionInteraction.actionKeyWord == "take")
                {
                    im.takeDictionary.Add(interactable.noun, interaction.textResponse);
                }

                if (interaction.inputActionInteraction.actionKeyWord == "drop")
                {
                    //Remove interactable from inventory
                    //add it to the array of interactable objects in the current room
                    LogStringInputWithReturn("You dropped the interactable, it is never seen again...");
                }
            }
        }
    }