36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace _Project.Scripts.LevelGenerating
|
|
{
|
|
public class RoomView : MonoBehaviour
|
|
{
|
|
public Room Data;
|
|
public int Index;
|
|
public float Height;
|
|
|
|
public readonly List<Renderer> FloorRenderers = new List<Renderer>();
|
|
public readonly List<Renderer> CeilingRenderers = new List<Renderer>();
|
|
public readonly List<Renderer> WallRenderers = new List<Renderer>();
|
|
//public readonly List<DoorController> Doors = new List<DoorController>();
|
|
public readonly List<RenderTexture> BakedLightmaps = new List<RenderTexture>();
|
|
|
|
public Vector3 OriginMeters =>
|
|
new Vector3(Data.Position.x * LevelGrid.Module, 0f, Data.Position.y * LevelGrid.Module);
|
|
|
|
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);
|
|
|
|
private void OnDestroy()
|
|
{
|
|
foreach (var rt in BakedLightmaps)
|
|
{
|
|
if (rt != null) rt.Release();
|
|
}
|
|
BakedLightmaps.Clear();
|
|
}
|
|
}
|
|
} |