37 lines
822 B
C#

using System;
using System.Collections.Generic;
public class WeaponModel : IDisposable
{
public Weapon CurrentWeapon;
public List<Weapon> Weapons;
public event Action<WeaponModel> OnUpdate;
public WeaponModel(Weapon currentWeapon, List<Weapon> weapons)
{
CurrentWeapon = currentWeapon;
Weapons = weapons;
foreach (var weapon in Weapons)
weapon.OnShoot += ShootHandler;
}
public void ShootHandler(AbstractProjectile obj)
{
OnUpdate?.Invoke(this);
}
public void WeaponChangeHandler(Weapon weapon)
{
CurrentWeapon = weapon;
OnUpdate?.Invoke(this);
}
public void Dispose()
{
foreach (var weapon in Weapons)
if(weapon!= null)
weapon.OnShoot -= ShootHandler;
}
}