public static Remove ( int index, AIBehaviour, list ) : AIBehaviour[], | ||
index | int | |
list | AIBehaviour, | |
Результат | AIBehaviour[], |
public void DrawLanguages() { GUILayout.BeginVertical(); GUILayout.Label("Languages:"); for (int i = 0; i < languagesTemp.Length; i++) { GUILayout.BeginHorizontal(); languagesTemp[i].name = EditorGUILayout.TextField(languagesTemp[i].name); // TODO: Implements dub and sub in the Options. // languagesTemp[i].subtitle = GUILayout.Toggle(languagesTemp[i].subtitle, "Sub"); // languagesTemp[i].dubbing = GUILayout.Toggle(languagesTemp[i].dubbing, "Dub"); if (GUILayout.Button("X", GUILayout.Width(20))) { languagesTemp = ArrayHelper.Remove(languagesTemp, languagesTemp[i]); } GUILayout.EndHorizontal(); } EditorGUILayout.Separator(); if (GUILayout.Button("Add language")) { languagesTemp = ArrayHelper.Add(languagesTemp, new Language("")); } GUILayout.EndVertical(); }
/// <summary> /// 조건 상수 삭제 /// </summary> /// <param name="index"></param> public void RemoveNumberVariableCondition(int index) { this.numberVarKey = ArrayHelper.Remove(index, this.numberVarKey); this.numberVarValue = ArrayHelper.Remove(index, this.numberVarValue); this.numberCheckType = ArrayHelper.Remove(index, this.numberCheckType); this.numberValueCheck = ArrayHelper.Remove(index, this.numberValueCheck); }
public void DrawAttributes() { GUILayout.BeginVertical(GUILayout.Width(position.width / 2)); GUILayout.Label("Attributes:"); for (int i = 0; i < attributesTemp.Length; i++) { GUILayout.BeginHorizontal(); attributesTemp[i] = EditorGUILayout.TextField(attributesTemp[i]); if (GUILayout.Button("X", GUILayout.Width(20))) { attributesTemp = ArrayHelper.Remove(attributesTemp, attributesTemp[i]); } GUILayout.EndHorizontal(); } EditorGUILayout.Separator(); if (GUILayout.Button("Add attribute")) { attributesTemp = ArrayHelper.Add(attributesTemp, ""); } GUILayout.EndVertical(); }
public override void RemoveData(int _index) { names = ArrayHelper.Remove(_index, names); if (names.Length == 0) { names = null; } soundClips = ArrayHelper.Remove <SoundClip>(_index, soundClips); }
/// <summary> /// /// </summary> public override void RemoveData(int index) { this.names = ArrayHelper.Remove(index, this.names); if (this.names.Length == 0) { this.names = null; } this.soundClips = ArrayHelper.Remove(index, this.soundClips); }
public override void RemoveData(int index) { names = ArrayHelper.Remove(index, names); if (names.Length == 0) { names = null; } effectClips = ArrayHelper.Remove(index, effectClips); }
/// <summary> /// Clean the categories array removing unused categories. /// </summary> public void RemoveNotUsedCategory() { foreach (var category in categories) { var itemsWithCategory = Find.In(items).Where("category", category).Results; if (itemsWithCategory.Length == 0) { categories = ArrayHelper.Remove(categories, category); } } }
/// <summary> /// Remove a state from states list if the quest has not initialized. /// </summary> /// <param name="questState">The state to remove.</param> public void RemoveState(QuestState questState) { if (Initialized) { return; } if (ArrayHelper.Contains(questStates, questState)) { questStates = ArrayHelper.Remove(questStates, questState); } }
public void OnGUI() { GUIHelper.Init(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); GUILayout.BeginVertical(GUIHelper.windowStyle); if (Controller.Instance.Options.characterList.Length <= 0) { EditorGUILayout.HelpBox("No characters yet.", MessageType.Info); } for (int i = 0; i < Controller.Instance.Options.characterList.Length; i++) { var name = Controller.Instance.Options.characterList[i]; var character = Character.Find(Controller.Instance.Characters, name); if (character.SetId()) { CharactersController.Save(character, Controller.Instance.Options.jsonPrettyPrint); } GUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(); if (EditorGUIUtility.isProSkin) { GUIHelper.labelStyle.normal.textColor = Color.white; } GUIHelper.labelStyle.alignment = TextAnchor.MiddleLeft; GUILayout.Label(name, GUIHelper.labelStyle); GUIHelper.labelStyle.alignment = TextAnchor.MiddleRight; if (Controller.Instance.Options.playerCharacterName == name) { GUILayout.Label("<b>[Player]</b>", GUIHelper.labelStyle); } GUILayout.EndHorizontal(); GUILayout.Space(10.0f); GUILayout.BeginHorizontal(GUILayout.MaxWidth(position.width / 2)); if (GUILayout.Button("Edit", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { CharacterEditor.Edit(character); Close(); } if (GUILayout.Button("Edit Messages", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { TalkableMessagesEditor.OpenContextMenu(character); Close(); } if (GUILayout.Button("Delete", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (EditorUtility.DisplayDialog("Are you sure?", "Do you really want to delete?\nThis data will be lost forever.", "Yes", "No")) { var isPlayer = false; if (name == Controller.Instance.Options.playerCharacterName) { isPlayer = true; } Controller.Instance.Characters.Remove(character); Controller.Instance.Options.characterList = ArrayHelper.Remove(Controller.Instance.Options.characterList, name); JSONHelper.Delete(name, "Diplomata/Characters/"); if (isPlayer && Controller.Instance.Options.characterList.Length > 0) { Controller.Instance.Options.playerCharacterName = Controller.Instance.Options.characterList[0]; } OptionsController.Save(Controller.Instance.Options, Controller.Instance.Options.jsonPrettyPrint); Controller.Instance.Characters = CharactersController.GetCharacters(Controller.Instance.Options); CharacterEditor.Reset(name); TalkableMessagesEditor.Reset(name); ContextEditor.Reset(name); } } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); if (i < Controller.Instance.Options.characterList.Length - 1) { GUIHelper.Separator(); } } EditorGUILayout.Separator(); if (GUILayout.Button("Create", GUILayout.Height(GUIHelper.BUTTON_HEIGHT))) { CharacterEditor.OpenCreate(); Close(); } GUILayout.EndVertical(); EditorGUILayout.EndScrollView(); }
public void RemoveLoop(int index) { this.CheckTime = ArrayHelper.Remove(index, this.CheckTime); this.SetTime = ArrayHelper.Remove(index, this.SetTime); }
/// <summary> /// 조건 변수 삭제. /// </summary> /// <param name="index"></param> public void RemoveVariableCondition(int index) { this.variableKey = ArrayHelper.Remove(index, this.variableKey); this.variableValue = ArrayHelper.Remove(index, this.variableValue); this.checkType = ArrayHelper.Remove(index, this.checkType); }
/// <summary> /// 조건 변수 삭제. /// </summary> /// <param name="index"></param> public void RemoveVariableCondition(int index) { variableKey = ArrayHelper.Remove(index, variableKey); variableValue = ArrayHelper.Remove(index, variableValue); checkType = ArrayHelper.Remove(index, checkType); }
/// <summary> /// RemoveNumberVariableSet - 상수 조건 삭제. /// </summary> /// <param name="index"></param> public void RemoveNumberVariableSet(int index) { this.setNumberVarKey = ArrayHelper.Remove(index, this.setNumberVarKey); this.setNumberVarValue = ArrayHelper.Remove(index, this.setNumberVarValue); this.setNumberOperator = ArrayHelper.Remove(index, this.setNumberOperator); }
public void RemoveLoop(int _index) { checkTime = ArrayHelper.Remove(_index, checkTime); setTime = ArrayHelper.Remove(_index, setTime); }
public void OnGUI() { GUIHelper.Init(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); GUILayout.BeginVertical(GUIHelper.windowStyle); if (Controller.Instance.GlobalFlags.flags.Length <= 0) { EditorGUILayout.HelpBox("No flags yet.", MessageType.Info); } var width = position.width - (2 * GUIHelper.MARGIN); for (var i = 0; i < Controller.Instance.GlobalFlags.flags.Length; i++) { var flag = Controller.Instance.GlobalFlags.flags[i]; GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUIHelper.labelStyle.normal.textColor = GUIHelper.grey; GUIHelper.labelStyle.alignment = TextAnchor.MiddleRight; GUILayout.Label("flag : " + i, GUIHelper.labelStyle); GUIHelper.labelStyle.normal.textColor = Color.black; GUILayout.EndHorizontal(); GUILayout.Space(5.0f); GUILayout.BeginHorizontal(); GUIHelper.textContent.text = flag.name; GUIHelper.textAreaStyle.padding = GUIHelper.padding; var height = GUIHelper.textAreaStyle.CalcHeight(GUIHelper.textContent, width); flag.name = EditorGUILayout.TextArea(flag.name, GUIHelper.textAreaStyle, GUILayout.ExpandWidth(true), GUILayout.Height(height)); GUILayout.EndHorizontal(); GUILayout.Space(5.0f); GUILayout.BeginHorizontal(); string selected = flag.value.ToString(); EditorGUI.BeginChangeCheck(); selected = GUIHelper.Popup("Start in ", selected, booleanArray); if (EditorGUI.EndChangeCheck()) { if (selected == "True") { flag.value = true; } else { flag.value = false; } GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } if (EditorGUIUtility.isProSkin) { GUIHelper.labelStyle.normal.textColor = Color.white; } GUILayout.Space(10.0f); GUILayout.Label("Move: ", GUIHelper.labelStyle); if (GUILayout.Button("Up", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (i > 0) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Swap(Controller.Instance.GlobalFlags.flags, i, i - 1); GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } } if (GUILayout.Button("Down", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (i < Controller.Instance.GlobalFlags.flags.Length - 1) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Swap(Controller.Instance.GlobalFlags.flags, i, i + 1); GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } } GUILayout.Space(5.0f); if (GUILayout.Button("Add Next", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Add(Controller.Instance.GlobalFlags.flags, new Flag("", false)); for (int j = 1; j < (Controller.Instance.GlobalFlags.flags.Length - 1) - i; j++) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Swap(Controller.Instance.GlobalFlags.flags, Controller.Instance.GlobalFlags.flags.Length - 1, i + j); } GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } if (GUILayout.Button("Delete", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (EditorUtility.DisplayDialog("Are you sure?", "Do you really want to delete?\nThis data will be lost forever.", "Yes", "No")) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Remove(Controller.Instance.GlobalFlags.flags, flag); GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (i < Controller.Instance.GlobalFlags.flags.Length - 1) { GUIHelper.Separator(); } } EditorGUILayout.Separator(); if (GUILayout.Button("Create", GUILayout.Height(GUIHelper.BUTTON_HEIGHT))) { Controller.Instance.GlobalFlags.flags = ArrayHelper.Add(Controller.Instance.GlobalFlags.flags, new Flag("", false)); GlobalFlagsController.Save(Controller.Instance.GlobalFlags, Controller.Instance.Options.jsonPrettyPrint); } GUILayout.EndVertical(); EditorGUILayout.EndScrollView(); GUIHelper.labelStyle.alignment = TextAnchor.MiddleLeft; }
public void OnGUI() { GUIHelper.Init(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); GUILayout.BeginVertical(GUIHelper.windowStyle); // If empty show this message. if (Controller.Instance.Quests.Length <= 0) { EditorGUILayout.HelpBox("No quests yet.", MessageType.Info); } // Quests loop to list. foreach (Quest quest in Controller.Instance.Quests) { GUILayout.BeginHorizontal(); // Set label properties. GUILayout.BeginHorizontal(); if (EditorGUIUtility.isProSkin) { GUIHelper.labelStyle.normal.textColor = Color.white; } GUIHelper.labelStyle.alignment = TextAnchor.MiddleLeft; var questName = DictionariesHelper.ContainsKey(quest.Name, Controller.Instance.Options.currentLanguage); if (questName != null) { GUILayout.Label(questName.value, GUIHelper.labelStyle); } GUILayout.EndHorizontal(); GUILayout.Space(10.0f); // Setting buttons. GUILayout.BeginHorizontal(GUILayout.MaxWidth(position.width / 2)); if (GUILayout.Button("Edit", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { QuestEditor.Open(quest); } if (GUILayout.Button("Delete", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (EditorUtility.DisplayDialog("Are you sure?", "Do you really want to delete?\nThis data will be lost forever.", "Yes", "No")) { QuestEditor.Init(QuestEditor.State.Close); Controller.Instance.Quests = ArrayHelper.Remove(Controller.Instance.Quests, quest); QuestsController.Save(Controller.Instance.Quests, Controller.Instance.Options.jsonPrettyPrint); } } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); } // Add button. if (GUILayout.Button("Add Quest", GUILayout.Height(GUIHelper.BUTTON_HEIGHT))) { var quest = new Quest(); Controller.Instance.Quests = ArrayHelper.Add(Controller.Instance.Quests, quest); quest.questStates = ArrayHelper.Add(quest.questStates, new QuestState()); foreach (var language in Controller.Instance.Options.languagesList) { quest.questStates[0].ShortDescription = ArrayHelper.Add(quest.questStates[0].ShortDescription, new LanguageDictionary(language, "in progress.")); quest.questStates[0].LongDescription = ArrayHelper.Add(quest.questStates[0].LongDescription, new LanguageDictionary(language, "")); } QuestsController.Save(Controller.Instance.Quests, Controller.Instance.Options.jsonPrettyPrint); QuestEditor.Open(quest); } GUILayout.EndVertical(); EditorGUILayout.EndScrollView(); }
public void OnGUI() { GUIHelper.Init(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); GUILayout.BeginVertical(GUIHelper.windowStyle); if (Controller.Instance.Inventory.items.Length <= 0) { EditorGUILayout.HelpBox("No items yet.", MessageType.Info); } foreach (var item in Controller.Instance.Inventory.items) { if (item.SetId()) { InventoryController.Save(Controller.Instance.Inventory, Controller.Instance.Options.jsonPrettyPrint); } GUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(); var name = DictionariesHelper.ContainsKey(item.name, Controller.Instance.Options.currentLanguage); if (EditorGUIUtility.isProSkin) { GUIHelper.labelStyle.normal.textColor = Color.white; } GUIHelper.labelStyle.alignment = TextAnchor.MiddleLeft; if (name != null) { var nameLabel = name.value; if (!string.IsNullOrEmpty(item.Category)) { nameLabel += string.Format(" [{0}]", item.Category); } GUILayout.Label(nameLabel, GUIHelper.labelStyle); } else { GUILayout.Label("(!) Name not found (!)", GUIHelper.labelStyle); } GUIHelper.labelStyle.alignment = TextAnchor.MiddleRight; GUIHelper.labelStyle.normal.textColor = GUIHelper.grey; GUILayout.Label("id: " + item.id, GUIHelper.labelStyle); GUIHelper.labelStyle.normal.textColor = Color.black; GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MaxWidth(position.width / 2)); if (GUILayout.Button("Edit", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { ItemEditor.OpenEdit(item); } if (GUILayout.Button("Delete", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (EditorUtility.DisplayDialog("Are you sure?", "Do you really want to delete?\nThis data will be lost forever.", "Yes", "No")) { ItemEditor.Init(ItemEditor.State.Close); Controller.Instance.Inventory.items = ArrayHelper.Remove(Controller.Instance.Inventory.items, item); Controller.Instance.Inventory.RemoveNotUsedCategory(); InventoryController.Save(Controller.Instance.Inventory, Controller.Instance.Options.jsonPrettyPrint); } } // if (GUILayout.Button("Duplicate", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) // { // Controller.Instance.Inventory.items = ArrayHelper.Add(Controller.Instance.Inventory.items, item.Copy(Controller.Instance.Inventory.GenerateId(), Controller.Instance.Options)); // InventoryController.Save(Controller.Instance.Inventory, Controller.Instance.Options.jsonPrettyPrint); // } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); } EditorGUILayout.Separator(); if (GUILayout.Button("Create", GUILayout.Height(GUIHelper.BUTTON_HEIGHT))) { Controller.Instance.Inventory.items = ArrayHelper.Add(Controller.Instance.Inventory.items, new Item(Controller.Instance.Inventory.GenerateId(), Controller.Instance.Options)); InventoryController.Save(Controller.Instance.Inventory, Controller.Instance.Options.jsonPrettyPrint); } GUILayout.EndVertical(); EditorGUILayout.EndScrollView(); }
public void OnGUI() { GUIHelper.Init(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); GUILayout.BeginVertical(GUIHelper.windowStyle); switch (state) { case State.None: Init(State.Close); break; case State.CreateEdit: // Set quest name. GUILayout.Label("Name: "); var questName = DictionariesHelper.ContainsKey(quest.Name, Controller.Instance.Options.currentLanguage); if (questName == null) { quest.Name = ArrayHelper.Add(quest.Name, new LanguageDictionary(Controller.Instance.Options.currentLanguage, "")); } GUI.SetNextControlName("name"); DictionariesHelper.ContainsKey(quest.Name, Controller.Instance.Options.currentLanguage).value = EditorGUILayout.TextField(DictionariesHelper.ContainsKey(quest.Name, Controller.Instance.Options.currentLanguage).value); GUIHelper.Focus("name"); EditorGUILayout.Space(); EditorGUILayout.SelectableLabel(string.Format("Quest Unique ID: {0}", quest.GetId())); // Set label properties for quest states header. GUILayout.BeginHorizontal(); if (EditorGUIUtility.isProSkin) { GUIHelper.labelStyle.normal.textColor = Color.white; } GUIHelper.labelStyle.alignment = TextAnchor.MiddleLeft; GUILayout.Label("Quest states:", GUIHelper.labelStyle); GUILayout.EndHorizontal(); GUIHelper.Separator(); // Loop of the quest states. foreach (var questState in quest.questStates) { GUILayout.BeginHorizontal(); var index = ArrayHelper.GetIndex(quest.questStates, questState); GUILayout.Label(string.Format("{0}.", (index + 1).ToString()), GUILayout.Width(25)); // Descriptions. EditorGUILayout.BeginVertical(); EditorGUILayout.LabelField("Short description:"); var questStateShortDescription = DictionariesHelper.ContainsKey(questState.ShortDescription, Controller.Instance.Options.currentLanguage); if (questStateShortDescription == null) { questState.ShortDescription = ArrayHelper.Add(questState.ShortDescription, new LanguageDictionary(Controller.Instance.Options.currentLanguage, "")); } DictionariesHelper.ContainsKey(questState.ShortDescription, Controller.Instance.Options.currentLanguage).value = EditorGUILayout.TextArea(DictionariesHelper .ContainsKey(questState.ShortDescription, Controller.Instance.Options.currentLanguage).value); EditorGUILayout.Space(); EditorGUILayout.LabelField("Long description:"); var questStateLongDescription = DictionariesHelper.ContainsKey(questState.LongDescription, Controller.Instance.Options.currentLanguage); if (questStateLongDescription == null) { questState.LongDescription = ArrayHelper.Add(questState.LongDescription, new LanguageDictionary(Controller.Instance.Options.currentLanguage, "")); } DictionariesHelper.ContainsKey(questState.LongDescription, Controller.Instance.Options.currentLanguage).value = EditorGUILayout.TextArea(DictionariesHelper .ContainsKey(questState.LongDescription, Controller.Instance.Options.currentLanguage).value); EditorGUILayout.Space(); EditorGUILayout.SelectableLabel(string.Format("Quest State Unique ID: {0}", questState.GetId())); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Up", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (index > 0) { quest.questStates = ArrayHelper.Swap(quest.questStates, index, index - 1); QuestsController.Save(Controller.Instance.Quests, Controller.Instance.Options.jsonPrettyPrint); } } if (GUILayout.Button("Down", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (index < quest.questStates.Length - 1) { quest.questStates = ArrayHelper.Swap(quest.questStates, index, index + 1); QuestsController.Save(Controller.Instance.Quests, Controller.Instance.Options.jsonPrettyPrint); } } if (GUILayout.Button("Delete", GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { if (EditorUtility.DisplayDialog("Are you sure?", "Do you really want to delete?\nThis data will be lost forever.", "Yes", "No")) { quest.questStates = ArrayHelper.Remove(quest.questStates, questState); QuestsController.Save(Controller.Instance.Quests, Controller.Instance.Options.jsonPrettyPrint); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); GUIHelper.Separator(); } // Buttons. EditorGUILayout.Space(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Add quest state", GUILayout.Width(position.width / 2), GUILayout.Height(GUIHelper.BUTTON_HEIGHT_SMALL))) { quest.AddState("Short description.", "Long description."); Save(); } GUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Save and close", GUILayout.Height(GUIHelper.BUTTON_HEIGHT))) { Save(); Close(); } GUILayout.EndHorizontal(); // Save and close on press Enter. if (focusedWindow != null) { if (focusedWindow.ToString() == "(Diplomata.Editor.Windows.QuestEditor)") { if (Event.current.keyCode == KeyCode.Return) { Save(); Close(); } } } break; } GUILayout.EndVertical(); EditorGUILayout.EndScrollView(); }
/// <summary> /// RemoveVariableSet - 조건 삭제. /// </summary> /// <param name="index"></param> public void RemoveVariableSet(int index) { this.setVariableKey = ArrayHelper.Remove(index, this.setVariableKey); this.setVariableValue = ArrayHelper.Remove(index, this.setVariableValue); }