42 lines
1013 B
C#

using System;
using System.Collections.Generic;
public class DangersModel
{
public List<EnemyShip> AliveShips;
public List<AbstractProjectile> Projectiles;
public event Action<DangersModel> OnUpdate;
public DangersModel()
{
AliveShips = new List<EnemyShip>();
Projectiles = new List<AbstractProjectile>();
}
public void ShipSpawned(EnemyShip enemyShip)
{
AliveShips.Add(enemyShip);
OnUpdate?.Invoke(this);
}
public void ShipReleased(EnemyShip enemyShip)
{
if (AliveShips.Contains(enemyShip))
AliveShips.Remove(enemyShip);
OnUpdate?.Invoke(this);
}
public void ProjectileSpawned(AbstractProjectile projectile)
{
Projectiles.Add(projectile);
OnUpdate?.Invoke(this);
}
public void ProjectileReleased(AbstractProjectile projectile)
{
if (Projectiles.Contains(projectile))
Projectiles.Remove(projectile);
OnUpdate?.Invoke(this);
}
}