42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using _Project.Scripts.PlayerUtils;
|
|
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<EnemyAI> Enemies = new List<EnemyAI>();
|
|
public 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();
|
|
Destroy(rt);
|
|
}
|
|
}
|
|
BakedLightmaps.Clear();
|
|
}
|
|
}
|
|
} |