Пример #1
0
        protected void ShowTitle()
        {
            if ((this is SWNodeRoot) || !titleEditing)
            {
                GUI.Label(rectTop, data.name, SWEditorUI.Style_Get(SWCustomStyle.eNodeTitle));
                if (Event.current.type == EventType.MouseUp &&
                    rectTop.Contains(Event.current.mousePosition))
                {
                    titleEditing = true;
                    nameEditing  = data.name;
                }
            }
            else
            {
                if (Event.current.type == EventType.KeyUp && Event.current.keyCode == KeyCode.Return)
                {
                    titleEditing = false;

                    nameEditing = SWRegex.NameLegal(nameEditing);
                    if (NameUnique(nameEditing))
                    {
                        data.name = SWRegex.NameLegal(nameEditing);
                    }
                }
                nameEditing = EditorGUI.TextField(rectTop, nameEditing, SWEditorUI.Style_Get(SWCustomStyle.eNodeTitle));
            }
        }
Пример #2
0
        public void EndTitleEditing()
        {
            titleEditing = false;

            nameEditing = SWRegex.NameLegal(nameEditing);
            if (NameUnique(nameEditing))
            {
                data.name = SWRegex.NameLegal(nameEditing);
            }
        }
Пример #3
0
        public virtual string TextureShaderName()
        {
            if (SWWindowMain.Instance.nRoot.texture != null && texture == SWWindowMain.Instance.nRoot.texture)
            {
                return("MainTex");
            }

            string name = textureDuplicatedSuffix == 0 ? SWRegex.NameLegal(Texture.name) : SWRegex.NameLegal(Texture.name) + "_" + textureDuplicatedSuffix;

            return(name);
        }
Пример #4
0
        protected void ShowTitle()
        {
            GUILayout.BeginHorizontal();
            if (!titleEditing)
            {
                GUILayout.Space(spacing);
                GUILayout.Label(nodeCode.dataCode.name, SWEditorUI.Style_Get(SWCustomStyle.eTxtLight));

                if (Event.current.type == EventType.MouseUp &&
                    GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
                {
                    titleEditing = true;
                    nameEditing  = nodeCode.dataCode.name;
                }
            }
            else
            {
                GUILayout.Space(spacing + 2);
                if (Event.current.type == EventType.KeyUp && Event.current.keyCode == KeyCode.Return)
                {
                    titleEditing = false;

                    nameEditing = SWRegex.NameLegal(nameEditing);
                    if (CodeNameUnique(nameEditing))
                    {
                        SWUndo.Record(this);
                        SWUndo.Record(nodeCode);
                        Code_SetName(nameEditing);
                    }
                }
                nameEditing = EditorGUILayout.TextField(nameEditing, SWEditorUI.Style_Get(SWCustomStyle.eTxtLight));
            }

            if (GUILayout.Button("D", GUILayout.Width(22)))
            {
                SWUndo.Record(this);
                SWUndo.Record(nodeCode);
                Code_Duplicate(nodeCode.dataCode);
            }
            Tooltip_Rec(SWTipsText.Code_Duplicate);


            if (GUILayout.Button("-", GUILayout.Width(22)))
            {
                SWUndo.Record(this);
                SWUndo.Record(nodeCode);
                Code_Remove();
            }
            Tooltip_Rec(SWTipsText.Code_Delete);
            GUILayout.EndHorizontal();
        }
Пример #5
0
 public string TextureShaderName_NormalMap()
 {
     return(SWRegex.NameLegal(textureNormalMap.name));
 }
Пример #6
0
        protected void Factor_CustomParamCreation()
        {
            paramNameLastDeleted = "";
            DrawModuleTitle("Custom Parameters");
            Rect lastRect = GUILayoutUtility.GetLastRect();
            Rect rect     = new Rect(lastRect.x, lastRect.y, lastRect.width + SWGlobalSettings.FieldWidth, lastRect.height + rightUpUnitHeight);

            Tooltip_Rec(SWTipsText.Right_CustomParam, rect);

            paramName = EditorGUILayout.TextField(paramName, GUILayout.Width(100));


            GUILayout.BeginHorizontal();
            if (GUILayout.Button("New Float", GUILayout.Width(80)))
            {
                paramName = SWRegex.NameLegal(paramName);
                if (ParamNameUnique(paramName))
                {
                    SWParam pa = new SWParam();
                    pa.type = SWParamType.FLOAT;
                    pa.name = paramName;
                    SWWindowMain.Instance.data.paramList.Add(pa);
                }
                paramName = "";
            }
            if (GUILayout.Button("New Range", GUILayout.Width(80)))
            {
                paramName = SWRegex.NameLegal(paramName);
                if (ParamNameUnique(paramName))
                {
                    SWParam pa = new SWParam();
                    pa.type = SWParamType.RANGE;
                    pa.name = paramName;
                    SWWindowMain.Instance.data.paramList.Add(pa);
                }
                paramName = "";
            }
            GUILayout.EndHorizontal();


            int toDeleteId = -1;

            for (int i = 0; i < SWWindowMain.Instance.data.paramList.Count; i++)
            {
                //GUILayout.Space (SWGlobalSettings.UIGap);
                var item = SWWindowMain.Instance.data.paramList[i];
                GUILayout.BeginHorizontal();
                float nameWidth = 64f;
                GUILayout.Label(item.name, SWEditorUI.Style_Get(SWCustomStyle.eTxtSmallLight), GUILayout.Width(nameWidth));
                if (item.type == SWParamType.RANGE)
                {
                    var f = EditorGUILayout.FloatField(item.defaultValue, GUILayout.Width(30));
                    if (f != item.defaultValue)
                    {
                        item.defaultValue = f;
                        SWProperties.SetFloat(item.name, item.defaultValue);
                    }

                    f = GUILayout.HorizontalSlider(item.defaultValue, item.min, item.max, GUILayout.Width(40));
                    if (f != item.defaultValue)
                    {
                        item.defaultValue = f;
                        SWProperties.SetFloat(item.name, item.defaultValue);
                    }


                    GUILayout.Label("Min", SWEditorUI.Style_Get(SWCustomStyle.eTxtSmallLight), GUILayout.Width(22));
                    item.min = EditorGUILayout.FloatField("", item.min, GUILayout.Width(25));
                    GUILayout.Label("Max", SWEditorUI.Style_Get(SWCustomStyle.eTxtSmallLight), GUILayout.Width(26));
                    item.max = EditorGUILayout.FloatField("", item.max, GUILayout.Width(25));
                }
                if (item.type == SWParamType.FLOAT)
                {
                    var f = EditorGUILayout.FloatField(item.defaultValue, GUILayout.Width(rightupWidth - nameWidth - SWGlobalSettings.UIGap * 2 - 18 - 2));
                    if (f != item.defaultValue)
                    {
                        item.defaultValue = f;
                        SWProperties.SetFloat(item.name, item.defaultValue);
                    }
                }

                lastRect = GUILayoutUtility.GetLastRect();

                if (GUI.Button(new Rect(position.width - 33 - SWGlobalSettings.UIGap, lastRect.y, 18, 17), "X"))
                {
                    toDeleteId = i;
                }
                GUILayout.EndHorizontal();
            }
            if (toDeleteId >= 0)
            {
                paramNameLastDeleted = SWWindowMain.Instance.data.paramList[toDeleteId].name;
                SWWindowMain.Instance.data.paramList.RemoveAt(toDeleteId);
            }
        }