public override bool Update(TerraSpirit spirit, Rectangle bounds)
        {
            Vector2 offset = endPos - position;

            if (offset.Length() < speed)
            {
                position = endPos;
                if (timer % 30 == 0)
                {
                    var bullet = new BulletRingExpand(position, 6f);
                    if (timer == 30)
                    {
                        bullet.Rotation(MathHelper.Pi / 16f);
                    }
                    spirit.bullets.Add(bullet);
                }
                if (timer >= 60)
                {
                    return(false);
                }
                timer++;
                return(true);
            }
            offset.Normalize();
            position += speed * offset;
            return(true);
        }
示例#2
0
 public override void Behavior()
 {
     Timer++;
     if (Timer % 30 == 0)
     {
         TerraSpirit spirit = (TerraSpirit)Spirit.modNPC;
         var         bullet = new BulletRingExpand(npc.Center, 8f);
         if (Timer == 30)
         {
             bullet.Rotation(MathHelper.Pi / 16f);
         }
         spirit.bullets.Add(bullet);
     }
     if (Timer >= 60)
     {
         Timer = 0;
     }
 }