ZoeAppClass/Assets/Jogos/00 - Models/Maze/Scripts/Maze_Level.cs

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;
}
}