예제 #1
0
    void ChainMesherGUI(MegaRopeChainMesher cm)
    {
        cm.show = EditorGUILayout.Foldout(cm.show, "Mesher Options");

        if (cm.show)
        {
            cm.linkOff   = EditorGUILayout.Vector3Field("Link Off", cm.linkOff);
            cm.linkOff1  = EditorGUILayout.Vector3Field("Link Off1", cm.linkOff1);
            cm.LinkRot   = EditorGUILayout.Vector3Field("Link Rot", cm.LinkRot);
            cm.LinkRot1  = EditorGUILayout.Vector3Field("Link Rot1", cm.LinkRot1);
            cm.LinkSize  = EditorGUILayout.FloatField("Link Size", cm.LinkSize);
            cm.linkScale = EditorGUILayout.Vector3Field("Link Scale", cm.linkScale);
            cm.linkPivot = EditorGUILayout.Vector3Field("Link Pivot", cm.linkPivot);
            //cm.LinkObjects = EditorGUILayout.Toggle("Link Objects", cm.LinkObjects);
            cm.RandomOrder = EditorGUILayout.BeginToggleGroup("Random Order", cm.RandomOrder);
            cm.seed        = EditorGUILayout.IntField("Rnd Seed", cm.seed);
            EditorGUILayout.EndToggleGroup();

            for (int i = 0; i < cm.LinkObj1.Count; i++)
            {
                cm.LinkObj1[i] = (GameObject)EditorGUILayout.ObjectField("Object", cm.LinkObj1[i], typeof(GameObject), true);
            }

            EditorGUILayout.BeginHorizontal();
            Color col = GUI.backgroundColor;
            GUI.backgroundColor = Color.green;
            if (GUILayout.Button("Add Link Obj"))
            {
                cm.rebuild = true;
                GameObject no = null;
                if (cm.LinkObj1.Count > 0)
                {
                    no = cm.LinkObj1[cm.LinkObj1.Count - 1];
                }
                cm.LinkObj1.Add(no);
                EditorUtility.SetDirty(target);
            }

            GUI.backgroundColor = Color.red;
            if (GUILayout.Button("Delete Link Obj"))
            {
                cm.rebuild = true;
                cm.LinkObj1.RemoveAt(cm.LinkObj1.Count - 1);
                EditorUtility.SetDirty(target);
            }

            GUI.backgroundColor = col;

            EditorGUILayout.EndHorizontal();

            if (GUI.changed)
            {
                cm.rebuild = true;
            }
        }
    }
예제 #2
0
    void ChainMesherGUI(MegaRopeChainMesher cm)
    {
        cm.show = EditorGUILayout.Foldout(cm.show, "Mesher Options");

        if ( cm.show )
        {
            cm.linkOff = EditorGUILayout.Vector3Field("Link Off", cm.linkOff);
            cm.linkOff1 = EditorGUILayout.Vector3Field("Link Off1", cm.linkOff1);
            cm.LinkRot = EditorGUILayout.Vector3Field("Link Rot", cm.LinkRot);
            cm.LinkRot1 = EditorGUILayout.Vector3Field("Link Rot1", cm.LinkRot1);
            cm.LinkSize = EditorGUILayout.FloatField("Link Size", cm.LinkSize);
            cm.linkScale = EditorGUILayout.Vector3Field("Link Scale", cm.linkScale);
            cm.linkPivot = EditorGUILayout.Vector3Field("Link Pivot", cm.linkPivot);
            //cm.LinkObjects = EditorGUILayout.Toggle("Link Objects", cm.LinkObjects);
            cm.RandomOrder = EditorGUILayout.BeginToggleGroup("Random Order", cm.RandomOrder);
            cm.seed = EditorGUILayout.IntField("Rnd Seed", cm.seed);
            EditorGUILayout.EndToggleGroup();

            for ( int i = 0; i < cm.LinkObj1.Count; i++ )
                cm.LinkObj1[i] = (GameObject)EditorGUILayout.ObjectField("Object", cm.LinkObj1[i], typeof(GameObject), true);

            EditorGUILayout.BeginHorizontal();
            Color col = GUI.backgroundColor;
            GUI.backgroundColor = Color.green;
            if ( GUILayout.Button("Add Link Obj") )
            {
                cm.rebuild = true;
                GameObject no = null;
                if ( cm.LinkObj1.Count > 0 )
                    no = cm.LinkObj1[cm.LinkObj1.Count - 1];
                cm.LinkObj1.Add(no);
                EditorUtility.SetDirty(target);
            }

            GUI.backgroundColor = Color.red;
            if ( GUILayout.Button("Delete Link Obj") )
            {
                cm.rebuild = true;
                cm.LinkObj1.RemoveAt(cm.LinkObj1.Count - 1);
                EditorUtility.SetDirty(target);
            }

            GUI.backgroundColor = col;

            EditorGUILayout.EndHorizontal();

            if ( GUI.changed )
            {
                cm.rebuild = true;
            }
        }
    }