Пример #1
0
    // Cancel //

    public void DestroyConditionInspector()
    {
        if (conditionPanelObject != null)
        {
            Destroy(conditionPanelObject);
            conditionable = null;
        }
    }
Пример #2
0
    // Creating condition panel


    public void CreateConditionPanel(IConditionable iConditionable)
    {
        if (conditionPanelObject != null)
        {
            return;
        }

        conditionable = iConditionable;

        conditionPanelObject = Instantiate(Resources.Load <GameObject> ("Prefabs/Editor/InteractionPanelPrefabs/ConditionPanel"));

        panel = conditionPanelObject.transform.Find("Panel");

        conditionTypeDropdown = panel.Find("ConditionTypeDropdown").GetComponent <Dropdown> ();
        stringInput           = panel.Find("StringInput").GetComponent <InputField> ();

        cancelButton = panel.Find("CancelButton").GetComponent <Button> ();
        submitButton = panel.Find("SubmitButton").GetComponent <Button> ();


        // Populate values


        // Dropdown

        List <string> conditionTypeList = new List <string>();

        foreach (ConditionType condType in Enum.GetValues(typeof(ConditionType)))
        {
            conditionTypeList.Add(condType.ToString());
        }

        conditionTypeDropdown.AddOptions(conditionTypeList);


        // Buttons

        cancelButton.onClick.AddListener(DestroyConditionInspector);
        submitButton.onClick.AddListener(SubmitCondition);
    }
    public void PopulateConditionContainer(IConditionable conditionable, Transform container)
    {
        for (int i = 0; i < conditionable.ConditionList.Count; i++)
        {
            GameObject obj = Instantiate(conditionItemPrefab);
            obj.transform.SetParent(container);

            Condition cond       = conditionable.ConditionList [i];
            string    condString = "";

            switch (cond.myType)
            {
            case ConditionType.HasItem:

                condString = cond.hasItem;

                break;


            case ConditionType.EventOccured:

                condString = cond.eventOccured;

                break;


            case ConditionType.CharacterInRoom:

                condString = cond.characterInRoom;

                break;


            case ConditionType.LacksItem:

                condString = cond.lacksItem;

                break;


            case ConditionType.EventDidntOccur:

                condString = cond.eventDidntOccur;

                break;


            case ConditionType.CharacterNotInRoom:

                condString = cond.characterNotInRoom;

                break;


            case ConditionType.IsCurrentPlayer:

                condString = cond.playerName;

                break;
            }

            obj.GetComponent <Text> ().text = string.Format("{0} - {1}", cond.myType, condString);

            // Give the remove button (inside the condition) an event listener

            obj.transform.Find("Button").GetComponent <Button> ().onClick.AddListener(() => RemoveCondition(conditionable, cond));
        }
    }
 public void RemoveCondition(IConditionable conditionable, Condition condition)
 {
     conditionable.RemoveConditionFromList(condition);
     CreateInteractionPanel();
 }