using HurricaneVR.Framework.Core.Player; using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using Zenject; public class LevelManager : MonoBehaviour { [SerializeField] [ReadOnly] [Inject] private Level level; [SerializeField] [ReadOnly] private int health = 0; [SerializeField] private HashSet finishedEnemies = new HashSet(); [Inject] [SerializeField] [ReadOnly] private MusicManager musicManager; [Inject] [SerializeField] [ReadOnly] private PlayerSpawner playerSpawner; [Inject] [SerializeField] [ReadOnly] private GameManager gameManager; private void Start() { health = level.health; if (level.pauseClip != null) { musicManager.Play(level.pauseClip); } var player = gameManager.LocalPlayer; playerSpawner.Spawn(player); } public void OnEnemyReachedFinish(EnemyComponent enemy) { if (finishedEnemies.Contains(enemy)) { return; } finishedEnemies.Add(enemy); enemy.Destroy(); health--; } }