42 lines
1013 B
C#
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);
|
|
}
|
|
}
|