79 lines
2.0 KiB
C#
79 lines
2.0 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Pathfinding;
|
|
|
|
public class Maze_Level : MonoBehaviour
|
|
{
|
|
List<AIPath> enemies = new List<AIPath>();
|
|
public Transform zoeSpawn;
|
|
List<Vector3> defaultSpawns = new List<Vector3>();
|
|
List<Maze_Answer> answers = new List<Maze_Answer>();
|
|
Maze_Player player;
|
|
|
|
public void Awake()
|
|
{
|
|
enemies.AddRange(GetComponentsInChildren<AIPath>());
|
|
answers.AddRange(GetComponentsInChildren<Maze_Answer>());
|
|
player = GameObject.Find("Player").GetComponent<Maze_Player>();
|
|
player.Kill();
|
|
SetupLevel();
|
|
}
|
|
|
|
public bool hasAwoken()
|
|
{
|
|
if (enemies.Count > 1 && answers.Count > 1)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public void SetupLevel()
|
|
{
|
|
for (int n = 0; n < enemies.Count; n++)
|
|
{
|
|
defaultSpawns.Add(enemies[n].transform.position);
|
|
enemies[n].GetComponent<AIDestinationSetter>().target = GameObject.Find("Player").transform;
|
|
}
|
|
for (int n = 0; n < answers.Count; n++)
|
|
{
|
|
answers[n].canActivate = true;
|
|
answers[n].UpdateText();
|
|
}
|
|
}
|
|
|
|
public void StartLevel()
|
|
{
|
|
player.transform.position = zoeSpawn.position;
|
|
for (int n = 0; n < enemies.Count; n++)
|
|
{
|
|
enemies[n].canMove = true;
|
|
}
|
|
for (int n = 0; n < answers.Count; n++)
|
|
{
|
|
answers[n].canActivate = true;
|
|
}
|
|
player.canMove = true;
|
|
Debug.Log("Started");
|
|
}
|
|
|
|
public void RestartLevel()
|
|
{
|
|
player.Kill();
|
|
for (int n = 0; n < enemies.Count; n++)
|
|
{
|
|
enemies[n].transform.position = defaultSpawns[n];
|
|
enemies[n].canMove = false;
|
|
}
|
|
for (int n = 0; n < answers.Count; n++)
|
|
{
|
|
answers[n].ResetThis();
|
|
}
|
|
player.transform.position = zoeSpawn.position;
|
|
}
|
|
}
|