public override void OnInspectorGUI() { SwordWhip script = (SwordWhip)target; parts = EditorGUILayout.Foldout(parts, "Sword Objects"); if (parts) { EditorGUILayout.BeginHorizontal(); GUILayout.Label("Hilt"); script.hilt = (GameObject)EditorGUILayout.ObjectField(script.hilt, typeof(GameObject), false); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Segment"); script.segment = (GameObject)EditorGUILayout.ObjectField(script.segment, typeof(GameObject), false); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Tip"); script.tip = (GameObject)EditorGUILayout.ObjectField(script.tip, typeof(GameObject), false); EditorGUILayout.EndHorizontal(); } variables = EditorGUILayout.Foldout(variables, "Sword Variables"); if (variables) { script.segments = EditorGUILayout.IntField("Segments", ((script.segments >= 0) ? script.segments : 0)); script.open = EditorGUILayout.Toggle("Starts Open", script.open); script.jointClosedPos = EditorGUILayout.Vector3Field("Closed Position", script.jointClosedPos); script.time = Mathf.Abs(EditorGUILayout.FloatField("Animation Time", script.time)); } audio = EditorGUILayout.Foldout(audio, "Audio Variables"); if (audio) { EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Action Audio Source"); script.swordAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordAudioSource, typeof(AudioSource), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Ambient Audio Source"); script.swordAmbientAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordAmbientAudioSource, typeof(AudioSource), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Swing Audio Source"); script.swordSwingAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordSwingAudioSource, typeof(AudioSource), true); EditorGUILayout.EndHorizontal(); // EditorGUILayout.BeginHorizontal(); // GUILayout.Label("Sword Ambient Audio"); // script.swordAmbientAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordAmbientAudio, typeof(AudioClip), true); // EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Open"); script.swordOpenAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordOpenAudio, typeof(AudioClip), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Open Ambient"); script.swordOpenAmbient = (AudioClip)EditorGUILayout.ObjectField(script.swordOpenAmbient, typeof(AudioClip), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Close"); script.swordCloseAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordCloseAudio, typeof(AudioClip), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Sword Close Ambient"); script.swordCloseAmbient = (AudioClip)EditorGUILayout.ObjectField(script.swordCloseAmbient, typeof(AudioClip), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Whip Audio Loop"); script.whipLoopAudio = (AudioClip)EditorGUILayout.ObjectField(script.whipLoopAudio, typeof(AudioClip), true); EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Create Sword")) { script.CreateSword(); } if (GUILayout.Button("Toggle State")) { script.toggleState(); } }