void world_NotifyEffectPushed(Effects.GraphicsEffect effect) { NetOutgoingMessage om = server.CreateMessage(); om.Write((byte)MessageDataType.PushEffect); om.Write(effect.Type); effect.WriteOutInitialData(om); server.SendToAll(om, NetDeliveryMethod.ReliableUnordered); }
public override void IssueMeleeAttack(Vector2 loc) { if (MeleeAttack != null) { ArealAttack atk = MeleeAttack.GetInstance(loc); stage.InflictAttack(atk); Effects.GraphicsEffect effect = MeleeAttack.CreateEffect(MeleeAttack.AreaOfAffect.MaxRadius, null, 0.0f); if (effect != null) { stage.PushEffect(effect); } } }
public override void IssueMeleeAttack(Vector2 loc) { if (MeleeAttack != null) { PushAnimation(MeleeAnimation); ArealAttack atk = MeleeAttack.GetInstance(loc); stage.InflictAttack(atk); Effects.GraphicsEffect effect = MeleeAttack.CreateEffect(0.3f, null, 0.0f); if (effect != null) { stage.PushEffect(effect); } } }
public override void IssueMeleeAttack(Actor target) { if (MeleeAttack != null) { PushAnimation(MeleeAnimation); ArealAttack atk = MeleeAttack.GetInstance(Position); Vector2 dir = Vector2.Normalize((target.Position - this.Position)); atk.AreaOfAffect.Rotation = MathHelper.GetAngle(dir); atk.AreaOfAffect.Center += dir * atk.AreaOfAffect.Width / 2f; stage.InflictAttack(atk); //stage.PushEffect(new Effects.RectEffect(atk.AreaOfAffect as RectPoly)); Effects.GraphicsEffect effect = MeleeAttack.CreateEffect(0.3f, target, atk.Period); if (effect != null) { stage.PushEffect(effect); } } }