// Cancel // public void DestroyConditionInspector() { if (conditionPanelObject != null) { Destroy(conditionPanelObject); conditionable = null; } }
// 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(); }