public void Cast(Unit unit) { Actor actor = new Actor(this); actor.Animation = animation; actor.Position = Owner.Center; actor.Velocity = new Vector2(18 * (int)Owner.direction, 0); actor.SpriteEffect = Owner.direction == FaceDirection.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; actor.Scale = 2f; actor.sprite.PlayAnimation(animation); Actors.Add(actor); }
public void Fire(Unit unit, Vector2 angle) { Actor actor = new Actor(this); actor.Animation = animation; actor.Position = Owner.Center + new Vector2(18 * (int)Owner.direction, 12); actor.Velocity = new Vector2(16 * (int)Owner.direction, 0); actor.SpriteEffect = Owner.direction == FaceDirection.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; actor.Scale = 1.2f; actor.Team = Owner.Team; actor.Invulnerable = true; actor.sprite.PlayAnimation(animation); Actors.Add(actor); }
public void Cast(Unit unit) { for (int i = 0; i < 360; i += 12) { Actor actor = new Actor(this); actor.Animation = animation; actor.Position = Owner.Center; actor.Velocity = new Vector2( (float)Math.Cos(MathHelper.ToRadians(i)) * 9, (float)Math.Sin(MathHelper.ToRadians(i)) * 9); actor.Rotation = (float)Math.Atan2(actor.Velocity.Y , actor.Velocity.X) + MathHelper.ToRadians(90); actor.sprite.PlayAnimation(animation); Actors.Add(actor); } }
public void Cast(Unit unit) { Actor actor = new Actor(this); actor.Animation = animation; actor.Position = Owner.Center + new Vector2(18 * (int)Owner.direction, 12); actor.Floating = false; actor.Velocity = new Vector2(6* (int)Owner.direction, -16); actor.SpriteEffect = Owner.direction == FaceDirection.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; actor.Scale = 0.3f; actor.Team = Owner.Team; actor.Invulnerable = true; timer = delay; Owner.Scale -= 0.334f; if (Owner.Scale <= 0.0f) Owner.Scale = 0.0f; actor.sprite.PlayAnimation(animation); Actors.Add(actor); }