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

64 lines
1.2 KiB
C#

using HurricaneVR.Framework.Core.Player;
using Sirenix.OdinInspector;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.Netcode;
using UnityEngine;
using Zenject;
public class LevelManager : NetworkBehaviour
{
[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 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--;
}
}