private void DrawPrefabsTab(Tapestry_AssetGeneratorPipes agp) { GUILayout.BeginVertical("box"); agp.prefabShort = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("Short Straight", agp.prefabShort, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabMedium = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("Medium Straight", agp.prefabMedium, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabLong = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("Long Straight", agp.prefabLong, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend15 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("15° Bend", agp.prefabBend15, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend30 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("30° Bend", agp.prefabBend30, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend45 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("45° Bend", agp.prefabBend45, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend60 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("60° Bend", agp.prefabBend60, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend75 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("75° Bend", agp.prefabBend75, typeof(Tapestry_AssetGeneratorPipes_Segment), true); agp.prefabBend90 = (Tapestry_AssetGeneratorPipes_Segment)EditorGUILayout.ObjectField("90° Bend", agp.prefabBend90, typeof(Tapestry_AssetGeneratorPipes_Segment), true); GUILayout.EndVertical(); }
public override void OnInspectorGUI() { Tapestry_AssetGeneratorPipes agp = target as Tapestry_AssetGeneratorPipes; toolbarActive = GUILayout.Toolbar(toolbarActive, toolbarNames); if (toolbarActive != -1) { if (toolbarNames[toolbarActive] == "Pipe System") { DrawSystemTab(agp); } if (toolbarNames[toolbarActive] == "Prefabs") { DrawPrefabsTab(agp); } } }
private void DrawSystemTab(Tapestry_AssetGeneratorPipes agp) { GUILayout.BeginVertical("box"); GUIStyle section = new GUIStyle { fontSize = 14, fontStyle = FontStyle.Bold }; GUILayout.BeginVertical("box"); GUILayout.Label("Current Segment", section); GUILayout.BeginHorizontal(); if (agp.GetCurrentSegment() == null) { GUILayout.Label("No segment placed."); } else { agp.GetCurrentSegment().transform.localEulerAngles = EditorGUILayout.Vector3Field("Rotation", agp.GetCurrentSegment().transform.localEulerAngles); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Remove Segment", GUILayout.Width(250))) { agp.RemoveSegment(); } } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.BeginVertical("box"); GUILayout.Label("Add New Segment", section); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Short Straight", GUILayout.Width(110))) { agp.AddSegment(agp.prefabShort); } GUILayout.FlexibleSpace(); if (GUILayout.Button("Medium Straight", GUILayout.Width(110))) { agp.AddSegment(agp.prefabMedium); } GUILayout.FlexibleSpace(); if (GUILayout.Button("Long Straight", GUILayout.Width(110))) { agp.AddSegment(agp.prefabLong); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("15° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend15); } GUILayout.FlexibleSpace(); if (GUILayout.Button("30° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend30); } GUILayout.FlexibleSpace(); if (GUILayout.Button("45° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend45); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("60° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend60); } GUILayout.FlexibleSpace(); if (GUILayout.Button("75° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend75); } GUILayout.FlexibleSpace(); if (GUILayout.Button("90° Bend", GUILayout.Width(110))) { agp.AddSegment(agp.prefabBend90); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.BeginVertical("box"); GUILayout.Label("Finalization", section); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Finalize Pipe System", GUILayout.Width(250))) { agp.BakeSystem(); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndVertical(); }