Example #1
0
    // Update is called once per frame
    void OnGUI()
    {
        bool add = false;

        if (GUILayout.Button("Export Nodes"))
        {
            DialogueController.SaveDictionary();
        }
        if (GUILayout.Button("Add Node"))
        {
            add = true;
        }
        _key                   = EditorGUILayout.TextField("Node Key:", _key);
        _text                  = EditorGUILayout.TextField("Node Text:", _text);
        _responseText          = EditorGUILayout.TextField("Node Response Text:", _responseText);
        _isMemory              = EditorGUILayout.Toggle("Is Memory Node:", _isMemory);
        _amountOfResponseNodes = EditorGUILayout.IntField("Amount of Response Nodes:", _amountOfResponseNodes);
        if (_responseNodes != null)
        {
            if (_responseNodes.Count > 0)
            {
                List <string> oldNodes = new List <string>();
                oldNodes       = _responseNodes;
                _responseNodes = new List <string>();
                for (int i = 0; i < _amountOfResponseNodes; i++)
                {
                    _responseNodes.Add(oldNodes[i]);
                }
            }
            else
            {
                for (int i = 0; i < _amountOfResponseNodes; i++)
                {
                    _responseNodes.Add("");
                }
            }
        }
        else
        {
            _responseNodes = new List <string>();
            for (int i = 0; i < _amountOfResponseNodes; i++)
            {
                _responseNodes.Add("");
            }
        }

        for (int i = 0; i < _responseNodes.Count; i++)
        {
            _responseNodes[i] = EditorGUILayout.TextField("Node Response " + i, _responseNodes[i]);
        }
        if (add)
        {
            DialogueNode node = new DialogueNode(_key, _text, _responseText, _responseNodes, _isMemory);
            DialogueController.AddDialogueNode(node);
            _amountOfResponseNodes = 0;
            _isMemory     = false;
            _key          = "";
            _responseText = "";
            _text         = "";
        }
    }