/// <summary> /// 発射 /// </summary> public override void Fire(ISFXShooter shooter, ISFXAmmo ammo) { if (!m_grip.CanGrip()) { // 打てない状況なら無視 return; } if (m_magazine.IsEmpty()) { // 空なら無理 return; } DoFire(shooter, ammo); }
/// <summary> /// 発射 /// </summary> public abstract void Fire(ISFXShooter shooter, ISFXAmmo ammo);
public override void Fire(ISFXShooter shooter, ISFXAmmo ammo) { }
//================================== // Method //================================== protected override void DoFire(ISFXShooter shooter, ISFXAmmo ammo) { var playback = Shot(ammo); shooter.Shot(playback); }
protected abstract void DoFire(ISFXShooter shooter, ISFXAmmo ammo);