1
0
Fork 0
Bildschirmflausch-LD41/Assets/Scripts/Objectives/EntityObjective.cs

35 lines
904 B
C#
Raw Normal View History

2018-04-21 15:18:53 +02:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EntityObjective : Objective{
List<Entity> entityList;
List<Transform> spawnPointList;
// Constructor
public EntityObjective(Room objectiveCaller, List<Entity> entityList) : base(objectiveCaller)
{
this.entityList = entityList;
this.spawnPointList = spawnPointList;
spawnPointList = objectiveCaller.GetSpawnpoints ();
}
// Activates the objective to start progresstracking
public void Activate()
{
Random newRand = new Random ();
foreach(Entity i : entityList)
i.Spawn(spawnPointList[Random.Range(0, spawnPointList.Count)]);
objectiveCaller.Lock();
}
// Removes the entity from the list and completes the objective, if the list is empty
public void Remove(Entity inputEntity)
{
entityList.Remove (inputEntity);
if (entityList.Count == 0)
objectiveCaller.Unlock ();
}
}