public void Display() { showFoldout = EditorGUILayout.Foldout(showFoldout, basicAction.type.ToString()); if (showFoldout) { EditorGUI.indentLevel++; /*********************** * /* Animation foldout */ /**********************/ showAnimationFoldout = ActionEditor.SimpleAnimationFoldout(basicAction, showAnimationFoldout); /****************************** * /* Events on start foldout */ /*****************************/ basicAction.onStartEvents = onStartEventsFoldout.Display(); /************************** * /* Sound effects foldout */ /**************************/ showSoundEffectsFoldout = EditorGUILayout.Foldout(showSoundEffectsFoldout, "Sound Effects (" + basicAction.startSounds.Length + ")"); if (showSoundEffectsFoldout) { EditorGUI.indentLevel++; // Display each possible hit sound (one is chosen at random when move is performed) for (int i = 0; i < basicAction.startSounds.Length; i++) { // Edit hit sound EditorGUILayout.BeginHorizontal(); { basicAction.startSounds[i] = (AudioClip)EditorGUILayout.ObjectField(basicAction.startSounds[i], typeof(AudioClip), false); // Delete hit sound if (GUILayout.Button("X", GUILayout.Width(40))) { basicAction.startSounds = ArrayUtils.Remove <AudioClip>(basicAction.startSounds, basicAction.startSounds[i]); } } EditorGUILayout.EndHorizontal(); } // Add start sound ("+") button EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField(""); // Add sound if (GUILayout.Button("+", GUILayout.Width(40))) { basicAction.startSounds = ArrayUtils.Add <AudioClip>(basicAction.startSounds, null); } } EditorGUILayout.EndHorizontal(); // Display help box if multiple sounds provided if (basicAction.startSounds.Length > 1) { EditorGUILayout.HelpBox("One is chosen at random when the action is performed", MessageType.Info); } EditorGUI.indentLevel--; } EditorGUI.indentLevel--; } }