using UnityEngine; namespace Hallucinate.GameSetup.Maze { [CreateAssetMenu(fileName = "MazeVisualProfile", menuName = "Hallucinate/Maze/Visual Profile")] public class MazeVisualProfile : ScriptableObject { [Header("Prefabs")] public GameObject wallPrefab; public GameObject corridorPrefab; public GameObject processingPrefab; public GameObject pathPrefab; public GameObject startPrefab; public GameObject endPrefab; [Header("Corridor Types")] public GameObject corridorStraight; public GameObject corridorCorner; public GameObject corridorTJunction; public GameObject corridorCross; public GameObject corridorDeadEnd; [Header("Visualization Settings")] public float scale = 1f; public float animationDuration = 0.25f; public GameObject GetPrefab(MazeCellType type) { return type switch { MazeCellType.Wall => wallPrefab, MazeCellType.Corridor => corridorPrefab, MazeCellType.Processing => processingPrefab, MazeCellType.Path => pathPrefab, MazeCellType.Start => startPrefab, MazeCellType.End => endPrefab, _ => null }; } } }