static void Init()
    {
        ConversationEditorWindow window = (ConversationEditorWindow)EditorWindow.GetWindow(typeof(ConversationEditorWindow));

        window.Repaint();
        window.title = "Conversation Editor";
    }
Beispiel #2
0
    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();
        }
    }
Beispiel #6
0
    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();
    }
Beispiel #9
0
    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();
    }