1
0
Fork 0
Bildschirmflausch-LD41/Assets/Scripts/Room.cs
2018-04-22 05:57:26 +02:00

82 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Room : MonoBehaviour {
[SerializeField]
int width, height; // Gridsize for Generation
List<Door> doors;
List<Transform> spawnpoints;
[SerializeField]
GameObject doorsRootObject;
[SerializeField]
GameObject spawnpointRootObject;
[SerializeField]
private Objective objective;
// Use this for initialization
void Start () {
doors = new List<Door>();
foreach (Door d in doorsRootObject.GetComponentsInChildren<Door>())
{
doors.Add(d);
}
Debug.Log("Doors in Room: " + doors.Count);
spawnpoints = new List<Transform>();
foreach (Transform t in spawnpointRootObject.GetComponentsInChildren<Transform>())
{
if( t.gameObject != spawnpointRootObject)
{
spawnpoints.Add(t);
}
}
Debug.Log("Spawnpoints in Room: " + spawnpoints.Count);
//Unlock();
}
public void SetObjective(Objective o)
{
objective = o;
}
public void Lock()
{
foreach (Door d in doors)
{
d.Lock();
}
}
public void Unlock()
{
foreach (Door d in doors)
{
d.Unlock();
}
}
public Objective GetObjective()
{
return objective;
}
public void OnPlayerEnter()
{
if(objective != null)
objective.Activate();
}
public List<Transform> GetSpawnpoints()
{
return spawnpoints;
}
}