Files
dungeons/Assets/Scripts/Managers/LevelManager.cs

62 lines
1.2 KiB
C#

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<EnemyComponent> finishedEnemies = new HashSet<EnemyComponent>();
[Inject]
[SerializeField]
[ReadOnly]
private MusicManager musicManager;
[Inject]
[SerializeField]
[ReadOnly]
private PlayerSpawner playerSpawner;
[Inject]
[SerializeField]
[ReadOnly]
private HVRPlayerController playerController;
private void Start()
{
health = level.health;
if (level.pauseClip != null)
{
musicManager.Play(level.pauseClip);
}
playerSpawner.Spawn(playerController.gameObject);
}
public void OnEnemyReachedFinish(EnemyComponent enemy)
{
if (finishedEnemies.Contains(enemy))
{
return;
}
finishedEnemies.Add(enemy);
enemy.Destroy();
health--;
}
}