using System.Collections.Generic; using UnityEngine; namespace _Project.Scripts.LevelGenerating { // ===================================================================== // Объект комнаты в сцене. Создаётся ShellSpawner, потом с ним работают генераторы комнат. // Хранит данные комнаты и ссылки на её меши, чтобы генератор не искал их сам. // ===================================================================== public class RoomView : MonoBehaviour { public Room Data; public int Index; public float Height; // высота стен в метрах public readonly List FloorRenderers = new List(); public readonly List CeilingRenderers = new List(); public readonly List WallRenderers = new List(); // Левый нижний угол комнаты в метрах public Vector3 OriginMeters => new Vector3(Data.Position.x * LevelGrid.Module, 0f, Data.Position.y * LevelGrid.Module); // Размеры комнаты в метрах: x - по X, z - по Z public Vector3 SizeMeters => new Vector3(Data.Length * LevelGrid.Module, Height, Data.Width * LevelGrid.Module); public Vector3 CenterMeters => OriginMeters + new Vector3(SizeMeters.x / 2f, 0f, SizeMeters.z / 2f); } }