Implement enemies getting to a finish, enemy dying
This commit is contained in:
39
Assets/Scripts/Managers/LevelManager.cs
Normal file
39
Assets/Scripts/Managers/LevelManager.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
public class LevelManager : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private Level level;
|
||||
|
||||
[SerializeField]
|
||||
[ReadOnly]
|
||||
private int health = 0;
|
||||
|
||||
[SerializeField]
|
||||
private HashSet<EnemyComponent> finishedEnemies = new HashSet<EnemyComponent>();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
health = level.health;
|
||||
}
|
||||
|
||||
public void OnEnemyReachedFinish(Collider enemyCollider)
|
||||
{
|
||||
var enemy = enemyCollider
|
||||
.gameObject
|
||||
.GetComponentInParent<EnemyComponent>();
|
||||
|
||||
if (finishedEnemies.Contains(enemy))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
finishedEnemies.Add(enemy);
|
||||
enemy.Destroy();
|
||||
health--;
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Managers/LevelManager.cs.meta
Normal file
11
Assets/Scripts/Managers/LevelManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0054e40601bd1a044a434b7be1a0602a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -77,7 +77,5 @@ public class WaveManager : MonoBehaviour
|
||||
|
||||
yield return new WaitForSeconds(currentWave.timeToNextGroup);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user