Exemplo n.º 1
0
            public override void OnGUI(Rect rect)
            {
                var typeNames = VariableValueDrawer.GetTypeNames();

                EditorGUILayout.LabelField(_label);

                var enter = GuiFields.TextEnterField("NewName", GUIContent.none, ref _newName);

                _newType = EditorGUILayout.Popup(_newType, typeNames);
                var create = GUILayout.Button(EditorHelper.CreateContent);

                if ((enter || create) && !string.IsNullOrEmpty(_newName))
                {
                    if (CreateVariable(_newName, _newType))
                    {
                        editorWindow.Close();
                        _newName = "Name";
                    }
                }
            }
Exemplo n.º 2
0
        public static string[] GetTypeNames()
        {
            if (_typeNames == null)
            {
                var valueTypeNames         = VariableValueDrawer.GetTypeNames();
                var referenceLocationNames = VariableReferenceDrawer.GetLocationNames();

                _typeNames      = new string[valueTypeNames.Length + referenceLocationNames.Length];
                _locationOffset = valueTypeNames.Length;

                for (var i = 0; i < valueTypeNames.Length; i++)
                {
                    _typeNames[i] = "Value/" + valueTypeNames[i];
                }

                for (var i = 0; i < referenceLocationNames.Length; i++)
                {
                    _typeNames[_locationOffset + i] = "Reference/" + referenceLocationNames[i];
                }
            }

            return(_typeNames);
        }