Esempio n. 1
0
 /// <summary>
 /// 是否可以射出下一发子弹(包括第一发)
 /// </summary>
 /// <param name="__instance"></param>
 /// <param name="burstShotsLeft">剩下可以射出的子弹数量</param>
 /// <returns>返回true则正常射出,可以修改burstShotsLeft,返回false则无法射出子弹,回到Idle状态,修改burstShotsLeft无效</returns>
 public override bool TryCastNextBurstShot(Verb __instance, ref int burstShotsLeft)
 {
     if (CompVoidNetPort == null)
     {
         return(false);
     }
     if (CompVoidNetPort.CostEnergy(EnergyEachShot))
     {
         if (CompShootMode != null && burstShotsLeft == 1)
         {
             CompShootMode.PostPreLastShoot();
         }
         return(true);
     }
     return(false);
 }
Esempio n. 2
0
 /// <summary>
 /// 是否可以射出下一发子弹(包括第一发)
 /// </summary>
 /// <param name="__instance"></param>
 /// <param name="burstShotsLeft">剩下可以射出的子弹数量</param>
 /// <returns>返回true则正常射出,可以修改burstShotsLeft,返回false则无法射出子弹,回到Idle状态,修改burstShotsLeft无效</returns>
 public virtual bool TryCastNextBurstShot(Verb __instance, ref int burstShotsLeft)
 {
     if (voidNetTerminal == null)
     {
         return(false);
     }
     if (voidNetTerminal.CostEnergy(EnergyEachShot))
     {
         if (CompShootMode != null && burstShotsLeft == 1)
         {
             CompShootMode.PostPreLastShoot();
         }
         if (compShootMode != null && burstShotsLeft > 1)
         {
             CompShootMode.PostPreNonLastShoot();
         }
         return(true);
     }
     return(false);
 }