Files
BABA_YAGA/Assets/Scripts/GameSetup/Maze/MazeVisualProfile.cs

51 lines
1.7 KiB
C#
Raw Normal View History

2026-04-21 23:28:49 +07:00
using UnityEngine;
namespace Hallucinate.GameSetup.Maze
{
[CreateAssetMenu(fileName = "MazeVisualProfile", menuName = "Hallucinate/Maze/Visual Profile")]
public class MazeVisualProfile : ScriptableObject
{
2026-05-01 20:50:08 +07:00
[Header("Rotation Offsets")]
public float tJunctionOffset = 0f;
public float cornerOffset = 0f;
public float deadEndOffset = 0f;
2026-04-21 23:28:49 +07:00
[Header("Prefabs")]
public GameObject wallPrefab;
public GameObject corridorPrefab;
public GameObject processingPrefab;
public GameObject pathPrefab;
public GameObject startPrefab;
public GameObject endPrefab;
2026-05-06 01:47:40 +07:00
public GameObject stairUpPrefab;
public GameObject stairDownPrefab;
2026-05-01 02:48:43 +07:00
[Header("Corridor Types")]
public GameObject corridorStraight;
public GameObject corridorCorner;
public GameObject corridorTJunction;
public GameObject corridorCross;
public GameObject corridorDeadEnd;
2026-04-21 23:28:49 +07:00
[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,
2026-05-08 09:50:34 +07:00
MazeCellType.StairsUp => stairUpPrefab,
MazeCellType.StairsDown => stairDownPrefab,
2026-04-21 23:28:49 +07:00
_ => null
};
}
}
}