Files
modular-vr/Assets/Escape Room Engine/Engine/Scripts/Room.cs

45 lines
1.1 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace Escape_Room_Engine.Engine.Scripts
{
public class Room
{
internal Passage entrance, exit;
internal GameObject roomObject;
private List<Space> _spaces = new();
internal Room(Passage entrance)
{
this.entrance = entrance;
}
internal void AddSpace(Space space, Passage spaceExit)
{
_spaces.Add(space);
exit = spaceExit;
}
internal void InstantiateRoom(Transform parent, string name)
{
roomObject = new GameObject($"Room {name}");
roomObject.transform.SetParent(parent, false);
for (var i = 0; i < _spaces.Count; i++)
{
_spaces[i].InstantiateSpace(roomObject.transform, i.ToString());
}
}
internal void Destroy()
{
foreach (var space in _spaces)
{
space.Destroy();
}
Object.Destroy(roomObject);
}
}
}