Files
BABA_YAGA/Assets/Scripts/GameSetup/Maze/MazeVisualProfile.cs
2026-05-06 01:47:40 +07:00

51 lines
1.7 KiB
C#

using UnityEngine;
namespace Hallucinate.GameSetup.Maze
{
[CreateAssetMenu(fileName = "MazeVisualProfile", menuName = "Hallucinate/Maze/Visual Profile")]
public class MazeVisualProfile : ScriptableObject
{
[Header("Rotation Offsets")]
public float tJunctionOffset = 0f;
public float cornerOffset = 0f;
public float deadEndOffset = 0f;
[Header("Prefabs")]
public GameObject wallPrefab;
public GameObject corridorPrefab;
public GameObject processingPrefab;
public GameObject pathPrefab;
public GameObject startPrefab;
public GameObject endPrefab;
public GameObject stairUpPrefab;
public GameObject stairDownPrefab;
[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,
MazeCellType.StairUp => stairUpPrefab,
MazeCellType.StairDown => stairDownPrefab,
_ => null
};
}
}
}