Implement enemies getting to a finish, enemy dying

This commit is contained in:
2024-08-13 16:46:46 +02:00
parent 3f715b2bbc
commit 5c6c425d9a
18 changed files with 514 additions and 461 deletions

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

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0054e40601bd1a044a434b7be1a0602a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -77,7 +77,5 @@ public class WaveManager : MonoBehaviour
yield return new WaitForSeconds(currentWave.timeToNextGroup);
}
}
}