/// <summary>
 /// 技能行为发生时的动作
 /// </summary>
 public override void SkillAction()
 {
     foreach (Unit u in GameWorld.GameItemManager.units)
     {
         if (u.Dead == false && u.Group != MargedUnit.Group)
         {
             GameWorld.AddNewMissile(new Missile(GameWorld, MargedUnit, u, GameWorld.Content.Load <MissileType>(MissileTypeAssetName), MargedUnit.SkillPosition(SkillPointNum)));
         }
     }
 }
Пример #2
0
        public void Shot(GameTime gameTime, Unit unit, Unit target)
        {
            if (Num > 0 && cooldownRemaining <= 0)
            {
                shotPositionNum += 1;
                shotPositionNum %= position.Length;

                gameWorld.AddNewMissile(new Missile(gameWorld, unit, target, missileType, unit.GetTransformedWeaponPosition(position[shotPositionNum])));
                if (unit.EndlessBullets == false)
                {
                    Num -= 1;
                }
                CooldownRemaining = missileWeaponType.cooldown;
            }
        }
Пример #3
0
 /// <summary>
 /// 技能行为发生时的动作
 /// </summary>
 public override void SkillAction()
 {
     if (MargedUnit.CurrentMissileWeapon != null)
     {
         for (int i = 0; i < 3; i++)
         {
             if (MargedUnit.CurrentMissileWeapon.Num > 0)
             {
                 GameWorld.AddNewMissile(new Missile(GameWorld, MargedUnit, Target, MargedUnit.CurrentMissileWeapon.missileType, MargedUnit.SkillPosition(i % 3)));
                 if (!MargedUnit.EndlessBullets)
                 {
                     MargedUnit.CurrentMissileWeapon.Num -= 1;
                 }
             }
         }
     }
 }
Пример #4
0
 /// <summary>
 /// 技能行为发生时的动作
 /// </summary>
 public override void SkillAction()
 {
     GameWorld.AddNewMissile(new Missile(GameWorld, MargedUnit, Target, GameWorld.Content.Load <MissileType>(MissileTypeAssetName), MargedUnit.SkillPosition(SkillPointNum)));
 }