Esempio n. 1
0
 /// <summary>
 /// 発射
 /// </summary>
 public override void Fire(ISFXShooter shooter, ISFXAmmo ammo)
 {
     if (!m_grip.CanGrip())
     {
         // 打てない状況なら無視
         return;
     }
     if (m_magazine.IsEmpty())
     {
         // 空なら無理
         return;
     }
     DoFire(shooter, ammo);
 }
Esempio n. 2
0
 /// <summary>
 /// 発射
 /// </summary>
 public abstract void Fire(ISFXShooter shooter, ISFXAmmo ammo);
Esempio n. 3
0
 public override void Fire(ISFXShooter shooter, ISFXAmmo ammo)
 {
 }
Esempio n. 4
0
 //=================================
 // Method
 //=================================
 internal static void Fire(ISFXWeapon weapon, ISFXAmmo ammo)
 {
     Shooter?.Fire(weapon, ammo);
 }
Esempio n. 5
0
        //==================================
        // Method
        //==================================
        protected override void DoFire(ISFXShooter shooter, ISFXAmmo ammo)
        {
            var playback = Shot(ammo);

            shooter.Shot(playback);
        }
Esempio n. 6
0
 protected ISFXPlayback Shot(ISFXAmmo ammo)
 {
     m_grip.Press();
     m_magazine.Pop();
     return(m_barrel.Fire(this, ammo));
 }
Esempio n. 7
0
 protected abstract void DoFire(ISFXShooter shooter, ISFXAmmo ammo);
Esempio n. 8
0
 /// <summary>
 /// 再生処理
 /// </summary>
 public void Fire(ISFXWeapon weapon, ISFXAmmo ammo)
 {
     weapon.Fire(this, ammo);
 }
Esempio n. 9
0
 /// <summary>
 /// 発射
 /// </summary>
 /// <param name="ammo"></param>
 public abstract ISFXPlayback Fire(ISFXWeapon weapon, ISFXAmmo ammo);