public static OffsetStruct Create(Vector3 V, int n) { OffsetStruct OS = new OffsetStruct(); OS.V = V; OS.n = n; return(OS); }
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(); }