Пример #1
0
        void OnGUI()
        {
            if (list == null || list.Equals(null))
            {
                Close();
                return;
            }

            XGUI.ResetToStyle(null);
            XGUI.BeginVertical();

            XGUI.ResetToStyle(GUI.skin.textField);

            XGUI.LabelWidth = 40;
            varName         = XGUI.TextField("Name", varName);
            typeStr         = XGUI.TextField("Type", typeStr);

            XGUI.ResetToStyle(null);
            XGUI.BeginHorizontal();

            XGUI.ResetToStyle(GUI.skin.button);
            if (XGUI.Button("Cancel"))
            {
                Close();
                return;
            }

            XGUI.Enabled = IsValid();
            if (XGUI.Button("Create"))
            {
                var value = new DynamicValue();
                value.TypeString = typeStr;
                list.list.Add(new Variable(varName, value));
                editor.SaveList();
                Close();
                return;
            }

            XGUI.EndHorizontal();

            if (!IsNameValid())
            {
                EditorGUILayout.HelpBox(
                    "Variable name is empty!",
                    MessageType.Warning);
            }
            else if (!IsNameUnique())
            {
                EditorGUILayout.HelpBox(
                    "Variable name is the same as an existing variable!",
                    MessageType.Warning);
            }
            else if (!IsTypeValid())
            {
                EditorGUILayout.HelpBox(
                    "Variable type does not exist!",
                    MessageType.Warning);
            }

            XGUI.EndVertical();
        }