Esempio n. 1
0
        public static OffsetStruct Create(Vector3 V, int n)
        {
            OffsetStruct OS = new OffsetStruct();

            OS.V = V;
            OS.n = n;
            return(OS);
        }
Esempio n. 2
0
    public void OnGUI()
    {
        MainScroll = EditorGUILayout.BeginScrollView(MainScroll);

        if (!bHideWarning)
        {
            EditorGUILayout.LabelField("Warning! Don't Forget To Create Tag Before Using This Script");
            EditorGUILayout.LabelField("How To Do That:");
            EditorGUILayout.LabelField("1. Press On Any Object");
            EditorGUILayout.LabelField("2. Press On Tag");
            EditorGUILayout.LabelField("3. Press \"Add Tag...\"");
            EditorGUILayout.LabelField("4. Press \"+\"");
            EditorGUILayout.LabelField("5. Enter Tag Name And Press Save");
        }

        bHideWarning   = EditorGUILayout.Toggle("Hide Warning", bHideWarning);
        SelectedObject = (GameObject)EditorGUILayout.ObjectField("Object", SelectedObject, typeof(GameObject), true);
        EditorGUILayout.BeginHorizontal();
        bKeepParentObject = EditorGUILayout.Toggle("Keep Parent Object", bKeepParentObject);

        if (!bKeepParentObject)
        {
            ParentObject = (GameObject)EditorGUILayout.ObjectField("Parent Object", ParentObject, typeof(GameObject), true);
        }

        EditorGUILayout.EndHorizontal();
        UsedName        = EditorGUILayout.TextField("Used Name", UsedName);
        UsedTag         = EditorGUILayout.TextField("Used Tag", UsedTag);
        NumberOfCopies  = EditorGUILayout.IntField("Number Of Copies", NumberOfCopies);
        bCustomPosition = EditorGUILayout.Toggle("Custom Position", bCustomPosition);

        if (bCustomPosition)
        {
            EditorGUILayout.BeginHorizontal();
            StartPosition.x = EditorGUILayout.FloatField("StartPosition.X", StartPosition.x);
            StartPosition.y = EditorGUILayout.FloatField("StartPosition.Y", StartPosition.y);
            StartPosition.z = EditorGUILayout.FloatField("StartPosition.Z", StartPosition.z);
            EditorGUILayout.EndHorizontal();
            int l = EditorGUILayout.IntField("Offsets Length", Offsets.Count);

            while (l < Offsets.Count)
            {
                Offsets.RemoveAt(Offsets.Count - 1);
            }

            while (l > Offsets.Count)
            {
                Offsets.Add(OffsetStruct.Create(new Vector3(), 0));
            }

            for (int i = 0; i < Offsets.Count; i++)
            {
                OffsetStruct OS = Offsets[i];
                Vector3      V  = OS.V;
                EditorGUILayout.BeginHorizontal();
                V.x  = EditorGUILayout.FloatField("Offsets[" + i + "].V.X", V.x);
                V.y  = EditorGUILayout.FloatField("Offsets[" + i + "].V.Y", V.y);
                V.z  = EditorGUILayout.FloatField("Offsets[" + i + "].V.Z", V.z);
                OS.V = V;
                OS.n = EditorGUILayout.IntField("Offsets[" + i + "].n", OS.n);
                EditorGUILayout.EndHorizontal();
                Offsets[i] = OS;
            }

            if (bKeepParentObject || (ParentObject != null && ParentObject.transform != null))
            {
                bWorldPositionStays = EditorGUILayout.Toggle("World Position Stays", bWorldPositionStays);
            }
        }

        if (GUILayout.Button("Duplicate Object"))
        {
            DuplicateObject();
        }

        bUseFullSearch = EditorGUILayout.Toggle("Use Full Search", bUseFullSearch);

        if (GUILayout.Button("Destroy Objects By Tag"))
        {
            DestroyObjectsByTag();
        }

        if (CustomMessage != "")
        {
            EditorGUILayout.LabelField(CustomMessage);
        }

        EditorGUILayout.EndScrollView();
    }