コード例 #1
0
        protected void DrawAdd()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Modifier name");
            newModifierName = GUILayout.TextArea(newModifierName);
            GUILayout.EndHorizontal();
            GUILayout.Label("Modifier type");
            int modiferFlagChanged = GUILayout.SelectionGrid(modifierFlag, modifierTypes, Mathf.Min(modifierTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

            if (modiferFlagChanged != modifierFlag)
            {
                modifierFlag = modiferFlagChanged;
                if (modifierTypes[modifierFlag].Contains("Material"))
                {
                    List <Renderer> xFormOptions = effect.GetModelTransforms()[0].GetComponentsInChildren <Renderer>().ToList();

                    transformOptions = new string[xFormOptions.Count];
                    for (int i = 0; i < xFormOptions.Count; i++)
                    {
                        transformOptions[i] = xFormOptions[i].gameObject.name;
                    }
                }
                else if (modifierTypes[modifierFlag].Contains("Light"))
                {
                    List <Light> xFormOptions = effect.GetModelTransforms()[0].GetComponentsInChildren <Light>().ToList();

                    transformOptions = new string[xFormOptions.Count];
                    for (int i = 0; i < xFormOptions.Count; i++)
                    {
                        transformOptions[i] = xFormOptions[i].gameObject.name;
                    }
                }
                else
                {
                    List <Transform> xFormOptions = effect.GetModelTransforms()[0].GetComponentsInChildren <Transform>().ToList();

                    transformOptions = new string[xFormOptions.Count];
                    for (int i = 0; i < xFormOptions.Count; i++)
                    {
                        transformOptions[i] = xFormOptions[i].name;
                    }
                }
                transformFlag = 0;
            }
            GUILayout.Label("Target transform name");
            transformFlag = GUILayout.SelectionGrid(transformFlag, transformOptions, Mathf.Min(transformOptions.Length, 3), GUIResources.GetStyle("radio_text_button"));
            GUILayout.BeginHorizontal();
            GUILayout.Label("Controller name");
            controllerFlag = GUILayout.SelectionGrid(controllerFlag, controllerTypes, Mathf.Min(controllerTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();
            if (GUILayout.Button("Add"))
            {
                effect.AddModifier(CreateNewModifier());
                showWindow = false;
            }
            if (GUILayout.Button("Cancel"))
            {
                showWindow = false;
            }
        }