Files
BABA_YAGA/Assets/Scripts/GameSetup/Maze/MazeVisualProfile.cs
Lucastaa 0b4c323d0a c
2026-05-04 23:58:02 +07:00

52 lines
1.6 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;
[Header("Room Pieces")]
public GameObject wallpiece;
public GameObject floorpiece;
public GameObject cellingpiece;
[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
};
}
}
}