static void Init() { ConversationEditorWindow window = (ConversationEditorWindow)EditorWindow.GetWindow(typeof(ConversationEditorWindow)); window.Repaint(); window.title = "Conversation Editor"; }
private static void OpenWindow() { Texture icon = AssetDatabase.LoadAssetAtPath <Texture>("Assets/Scripts/Conversation/Editor/Resources/ConversationIcon.png"); ConversationEditorWindow window = GetWindow <ConversationEditorWindow>(); window.titleContent = new GUIContent("Conversation", icon); }
public void Init(GraphConversationDataControl conversation) { editor = EditorWindow.GetWindow <ConversationEditorWindow>(); editor.conversation = (GraphConversation)conversation.getConversation(); ConversationNodeEditorFactory.Intance.ResetInstance(); InitWindows(); }
public void Init(GraphConversation conversation) { editor = EditorWindow.GetWindow <ConversationEditorWindow>(); editor.conversation = conversation; ConversationNodeEditorFactory.Intance.ResetInstance(); InitWindows(); }
public override void Draw(int aID) { GUILayout.Space(30); for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations().Count; i++) { GUILayout.BeginHorizontal(); GUILayout.Box(Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations()[i].getId(), GUILayout.Width(windowWidth * 0.65f)); if (GUILayout.Button("Edit conversation", GUILayout.MaxWidth(windowWidth * 0.3f))) { ConversationEditorWindow window = (ConversationEditorWindow)ScriptableObject.CreateInstance(typeof(ConversationEditorWindow)); window.Init((GraphConversation)Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations()[i]); } GUILayout.EndHorizontal(); } }
public override void OnInspectorGUI() { if (!sideIcon) { sideIcon = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/AdventureCreator/Graphics/Textures/inspector-use.png", typeof(Texture2D)); } if (_target) { _target.Upgrade(); } else { return; } EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Conversation settings", EditorStyles.boldLabel); _target.interactionSource = (InteractionSource)EditorGUILayout.EnumPopup("Interaction source:", _target.interactionSource); _target.autoPlay = EditorGUILayout.Toggle("Auto-play lone option?", _target.autoPlay); _target.isTimed = EditorGUILayout.Toggle("Is timed?", _target.isTimed); if (_target.isTimed) { _target.timer = EditorGUILayout.FloatField("Timer length (s):", _target.timer); } if (GUILayout.Button("Conversation Editor")) { ConversationEditorWindow window = (ConversationEditorWindow)EditorWindow.GetWindow(typeof(ConversationEditorWindow)); window.Repaint(); } EditorGUILayout.EndVertical(); EditorGUILayout.Space(); CreateOptionsGUI(); EditorGUILayout.Space(); if (_target.selectedOption != null && _target.options.Contains(_target.selectedOption)) { EditorGUILayout.LabelField("Dialogue option '" + _target.selectedOption.label + "' properties", EditorStyles.boldLabel); EditOptionGUI(_target.selectedOption, _target.interactionSource); } if (GUI.changed) { EditorUtility.SetDirty(_target); } }
public void setParent(ConversationEditorWindow parent) { this.parent = parent; }
void nodeWindow(int id) { ConversationNode myNode = conversation.getAllNodes()[id]; ConversationNodeEditor editor = null; editors.TryGetValue(myNode, out editor); if (editor != null && editor.Collapsed) { GUIContent bttext = new GUIContent(TC.get("GeneralText.Open")); Rect btrect = GUILayoutUtility.GetRect(bttext, buttonstyle); GUILayout.BeginHorizontal(); if (GUI.Button(btrect, bttext)) { editor.Collapsed = false; } ; GUILayout.EndHorizontal(); } else { string[] editorNames = ConversationNodeEditorFactory.Intance.CurrentConversationNodeEditors; GUILayout.BeginHorizontal(); int preEditorSelected = ConversationNodeEditorFactory.Intance.ConversationNodeEditorIndex(myNode); int editorSelected = EditorGUILayout.Popup(preEditorSelected, editorNames); if (GUILayout.Button("-", collapseStyle, GUILayout.Width(15), GUILayout.Height(15))) { editor.Collapsed = true; GUIContent bttext = new GUIContent(TC.get("GeneralText.Open")); Rect btrect = GUILayoutUtility.GetRect(bttext, buttonstyle); editor.Window = new Rect(editor.Window.x, editor.Window.y, btrect.width, btrect.height); } if (GUILayout.Button("X", closeStyle, GUILayout.Width(15), GUILayout.Height(15))) { } //effects.getEffects().Remove(myEffect); GUILayout.EndHorizontal(); GUILayout.BeginVertical(); if (editor == null || preEditorSelected != editorSelected) { bool firstEditor = (editor == null); editor = ConversationNodeEditorFactory.Intance.createConversationNodeEditorFor(editorNames[editorSelected]); editor.setParent(this); if (firstEditor) { editor.Node = myNode; } else { setNode(myNode, editor.Node); } if (editors.ContainsKey(myNode)) { editor.Window = editors[myNode].Window; } else { editor.Window = tmpRects[myNode]; } editors.Remove(myNode); editors.Add(editor.Node, editor); } editor.draw(); GUILayout.EndVertical(); } if (Event.current.type != EventType.layout) { Rect lastRect = GUILayoutUtility.GetLastRect(); Rect myRect = editors[myNode].Window; myRect.height = lastRect.y + lastRect.height; editors[myNode].Window = myRect; this.Repaint(); } if (Event.current.type == EventType.mouseMove) { if ( new Rect(0, 0, editors[myNode].Window.width, editors[myNode].Window.height).Contains( Event.current.mousePosition)) { hovering = id; } } if (Event.current.type == EventType.mouseDown) { if (hovering == id) { focusing = hovering; } if (lookingChildNode != null) { // link creation between nodes if (lookingChildNode.getChildCount() > 0) { lookingChildNode.removeChild(lookingChildSlot); } lookingChildNode.addChild(lookingChildSlot, myNode); // finishing search lookingChildNode = null; } } GUI.DragWindow(); }
void OnGUI() { /** * UPPER MENU */ GUILayout.BeginArea(buttonMenuRect); GUILayout.BeginHorizontal(); if (GUILayout.Button(TC.get("MenuFile.Title"))) { fileMenu.menu.ShowAsContext(); } //if (GUILayout.Button(Language.GetText("GeneralText.Edit"))) //{ // editMenu.menu.ShowAsContext(); //} //if (GUILayout.Button(Language.GetText("ADVENTURE"))) //{ // adventureMenu.menu.ShowAsContext(); //} if (GUILayout.Button(TC.get("MenuChapters.Title"))) { chaptersMenu.menu.ShowAsContext(); } //if (GUILayout.Button(Language.GetText("RUN"))) //{ // runMenu.menu.ShowAsContext(); //} if (GUILayout.Button(TC.get("MenuConfiguration.Title"))) { configurationMenu.menu.ShowAsContext(); } if (GUILayout.Button(TC.get("About"))) { aboutMenu.menu.ShowAsContext(); } GUILayout.EndHorizontal(); GUILayout.EndArea(); /** * LEFT MENU */ GUILayout.BeginArea(leftMenuRect); GUILayout.BeginVertical(); //GUILayout.BeginHorizontal(GUILayout.MaxWidth(25), GUILayout.MaxHeight(25)); //if (GUILayout.Button(undoTexture, GUILayout.MaxWidth(25), GUILayout.MaxHeight(25))) //{ // UndoAction(); //} //GUILayout.Space(5); //if (GUILayout.Button(redoTexture, GUILayout.MaxWidth(25), GUILayout.MaxHeight(25))) //{ // RedoAction(); //} //GUILayout.EndHorizontal(); //GUILayout.Space(25); scrollPosition = GUILayout.BeginScrollView(scrollPosition); // Button event chapter if (GUILayout.Button(TC.get("Element.Name0"))) { chapterWindow = new ChapterWindow(windowRect, new GUIContent(TC.get("Element.Name0")), "Window"); OnWindowTypeChanged(EditorWindowType.Chapter); } // Button event scene GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentScene)) { OnWindowTypeChanged(EditorWindowType.Scenes); scenesWindow.ShowBaseWindowView(); } //Add button scene if (openedWindow == EditorWindowType.Scenes) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Scene", EditorWindowType.Scenes); } } GUILayout.EndHorizontal(); // Item sublist scene if (openedWindow == EditorWindowType.Scenes) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getScenes().Count; i++) { if (i == GameRources.GetInstance().selectedSceneIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getScenes()[i].getId())) { scenesWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedSceneIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getScenesList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getScenesList() .getScenes()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getScenesList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getScenesList() .getScenes()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event cutscene GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentCutscene)) { OnWindowTypeChanged(EditorWindowType.Cutscenes); cutscenesWindow.ShowBaseWindowView(); } //Add button cutscene if (openedWindow == EditorWindowType.Cutscenes) { if (GUILayout.Button(addTexture)) { ChapterElementNewCutsceneInputPopup window = (ChapterElementNewCutsceneInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNewCutsceneInputPopup)); window.Init(this, "Cutscene", EditorWindowType.Cutscenes); } } GUILayout.EndHorizontal(); // Item sublist cutscene if (openedWindow == EditorWindowType.Cutscenes) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getCutscenes().Count; i++) { if (i == GameRources.GetInstance().selectedCutsceneIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getCutscenes()[i].getId())) { cutscenesWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedCutsceneIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getCutscenesList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getCutscenesList() .getCutscenes()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event book GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentBook)) { OnWindowTypeChanged(EditorWindowType.Books); booksWindow.ShowBaseWindowView(); } //Add button book if (openedWindow == EditorWindowType.Books) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Book", EditorWindowType.Books); } } GUILayout.EndHorizontal(); // Item sublist book if (openedWindow == EditorWindowType.Books) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getBooks().Count; i++) { if (i == GameRources.GetInstance().selectedBookIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getBooks()[i].getId())) { booksWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedBookIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getBooksList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getBooksList() .getBooks()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getBooksList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getBooksList() .getBooks()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event item GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentItem)) { OnWindowTypeChanged(EditorWindowType.Items); itemsWindow.ShowBaseWindowView(); } //Add button item if (openedWindow == EditorWindowType.Items) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Item", EditorWindowType.Items); } } GUILayout.EndHorizontal(); // Item sublist item if (openedWindow == EditorWindowType.Items) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getItems().Count; i++) { if (i == GameRources.GetInstance().selectedItemIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getItems()[i].getId())) { itemsWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedItemIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getItemsList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getItemsList() .getItems()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getItemsList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getItemsList() .getItems()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event item GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentSetItem)) { OnWindowTypeChanged(EditorWindowType.SetItems); setItemsWindow.ShowBaseWindowView(); } //Add button item if (openedWindow == EditorWindowType.SetItems) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Atrezzo", EditorWindowType.SetItems); } } GUILayout.EndHorizontal(); // Item sublist item if (openedWindow == EditorWindowType.SetItems) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getAtrezzo().Count; i++) { if (i == GameRources.GetInstance().selectedSetItemIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getAtrezzo()[i].getId())) { setItemsWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedSetItemIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getAtrezzoList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getAtrezzoList() .getAtrezzoList()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getAtrezzoList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getAtrezzoList() .getAtrezzoList()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event player if (GUILayout.Button(leftMenuContentPlayer)) { OnWindowTypeChanged(EditorWindowType.Player); } // Button event NPC GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentCharacter)) { OnWindowTypeChanged(EditorWindowType.Characters); characterWindow.ShowBaseWindowView(); } //Add button NPC if (openedWindow == EditorWindowType.Characters) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Character", EditorWindowType.Characters); } } GUILayout.EndHorizontal(); // Item sublist NPC if (openedWindow == EditorWindowType.Characters) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getCharacters().Count; i++) { if (i == GameRources.GetInstance().selectedCharacterIndex) { GUI.skin = leftSubMenuConcreteItemSkin; } if ( GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getCharacters()[i].getId())) { characterWindow.ShowItemWindowView(i); } if (i == GameRources.GetInstance().selectedCharacterIndex) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Rename")) { Debug.Log("Rename"); } if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getNPCsList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getNPCsList() .getNPCs()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getNPCsList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getNPCsList() .getNPCs()[i], false); scenesWindow.ShowBaseWindowView(); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } } GUI.skin = defaultGUISkin; } // Button event Conversation GUILayout.BeginHorizontal(); if (GUILayout.Button(leftMenuContentConversation)) { OnWindowTypeChanged(EditorWindowType.Conversations); } //Add button Conversation if (openedWindow == EditorWindowType.Conversations) { if (GUILayout.Button(addTexture)) { ChapterElementNameInputPopup window = (ChapterElementNameInputPopup) ScriptableObject.CreateInstance(typeof(ChapterElementNameInputPopup)); window.Init(this, "Conversation", EditorWindowType.Conversations); } } GUILayout.EndHorizontal(); // Item sublist book if (openedWindow == EditorWindowType.Conversations) { GUI.skin = leftSubMenuSkin; for (int i = 0; i < Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations().Count; i++) { if (i == GameRources.GetInstance().selectedConversationIndex) { GUI.skin = leftSubMenuConcreteItemSkin; if (GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations()[i] .getId())) { ConversationEditorWindow window = (ConversationEditorWindow) ScriptableObject.CreateInstance(typeof(ConversationEditorWindow)); window.Init( (GraphConversation) Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations()[ i]); } GUILayout.BeginHorizontal(); if (GUILayout.Button(duplicateImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getConversationsList() .duplicateElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getConversationsList() .getConversations()[i]); } if (GUILayout.Button(deleteImg)) { Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getConversationsList() .deleteElement( Controller.getInstance() .getCharapterList() .getSelectedChapterDataControl() .getConversationsList() .getConversations()[i], false); } GUILayout.EndHorizontal(); GUI.skin = leftSubMenuSkin; } else { if (GUILayout.Button( Controller.getInstance().getCharapterList().getSelectedChapterData().getConversations()[i] .getId())) { GameRources.GetInstance().selectedConversationIndex = i; } } } GUI.skin = defaultGUISkin; } // Button event player if (GUILayout.Button(leftMenuContentAdvanced)) { OnWindowTypeChanged(EditorWindowType.AdvancedFeatures); } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.EndArea(); /** * WINDOWS */ BeginWindows(); switch (openedWindow) { case EditorWindowType.Chapter: m_Window1 = chapterWindow; break; case EditorWindowType.Scenes: m_Window1 = scenesWindow; break; case EditorWindowType.Cutscenes: m_Window1 = cutscenesWindow; break; case EditorWindowType.Books: m_Window1 = booksWindow; break; case EditorWindowType.Items: m_Window1 = itemsWindow; break; case EditorWindowType.SetItems: m_Window1 = setItemsWindow; break; case EditorWindowType.Player: m_Window1 = playerWindow; break; case EditorWindowType.Characters: m_Window1 = characterWindow; break; case EditorWindowType.Conversations: m_Window1 = conversationWindow; break; case EditorWindowType.AdvancedFeatures: m_Window1 = advencedFeaturesWindow; break; } if (m_Window1 != null) { m_Window1.OnGUI(); } EndWindows(); }