maint: added livewatch asset

This commit is contained in:
Chris
2025-08-31 18:14:07 -04:00
parent 7f5d95787b
commit ae2371a6fa
385 changed files with 150792 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Ingvar.LiveWatch.TowerDefenceDemo
{
public class TowerManager : MonoBehaviour
{
private Dictionary<string, TowerBase> _towers = new();
private LevelScene _levelScene;
private int _spawnedTowersCount;
private void Awake()
{
_levelScene = FindObjectOfType<LevelScene>();
}
public void EnabledTowers()
{
foreach (var tower in _towers.Values)
{
tower.Enable(_levelScene);
}
}
public void DisableTowers()
{
foreach (var tower in _towers.Values)
{
tower.Disable();
}
}
public void AddTower(TowerBase tower)
{
tower.Id = $"{tower.Type}_{++_spawnedTowersCount}";
_towers.Add(tower.Id, tower);
if (_levelScene.LevelStateManager.CurrentState == LevelStateType.Playing)
tower.Enable(_levelScene);
}
public void RemoveTower(TowerBase tower)
{
_towers.Remove(tower.Id);
if (_levelScene.LevelStateManager.CurrentState == LevelStateType.Playing)
tower.Disable();
}
}
}