Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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);
                }
            }
        }