Files
AppleHillsProduction/Assets/Editor/TrashMazeSwitchToPulverEditor.cs
2025-12-19 15:35:35 +01:00

64 lines
2.5 KiB
C#

using UnityEditor;
using Minigames.TrashMaze.Objects;
namespace Editor
{
/// <summary>
/// Custom editor for TrashMazeSwitchToPulver showing maze-specific settings
/// </summary>
[CustomEditor(typeof(TrashMazeSwitchToPulver))]
public class TrashMazeSwitchToPulverEditor : ControllerSwitchItemEditor
{
private SerializedProperty _teleportTarget;
private SerializedProperty _targetCameraState;
protected override void OnEnable()
{
base.OnEnable();
_teleportTarget = serializedObject.FindProperty("teleportTarget");
_targetCameraState = serializedObject.FindProperty("targetCameraState");
}
protected override void DrawCustomFields()
{
EditorGUILayout.Space();
// Trash Maze Specific Settings
EditorGUILayout.LabelField("Trash Maze - To Pulver Settings", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_teleportTarget);
if (_teleportTarget.objectReferenceValue == null)
{
EditorGUILayout.HelpBox("Assign a Transform where Pulver should be teleported to (maze entrance position). Teleportation happens midway through camera blend.", MessageType.Warning);
}
else
{
EditorGUILayout.HelpBox("✓ Pulver will be teleported to this position halfway through the camera blend, creating a seamless 'entering maze' effect.", MessageType.Info);
}
EditorGUILayout.Space();
EditorGUILayout.PropertyField(_targetCameraState);
EditorGUILayout.HelpBox("Camera state to blend to. Typically 'Maze' when entering the maze. Requires TrashMazeCameraController in scene.", MessageType.Info);
EditorGUILayout.Space();
// Info box about the behavior
EditorGUILayout.HelpBox(
"Switch Behavior:\n" +
"1. Deactivate current controller (Trafalgar)\n" +
"2. Deactivate Pulver's follower mode\n" +
"3. Start camera blend to Maze view\n" +
"4. ★ Teleport Pulver midway through blend ★\n" +
"5. Set Pulver as tracking target immediately\n" +
"6. Wait for blend to complete\n" +
"7. Activate PulverController for player control\n" +
"8. Switch input to 'pulver'",
MessageType.None
);
}
}
}