Exemple #1
0
 public Bullet(MoveDamageBox damageBox, Vector2 size, string name) : base()
 {
     this.damageBox = damageBox;
     this.size      = size;
     rect           = new Rectangle(0, 0, 100, 100);
     this.name      = name;
     position       = damageBox.Position();
 }
Exemple #2
0
        public override void Attack()
        {
            var box = new MoveDamageBox(
                new BoundingSphere(new Vector3(actor.Collision.Position.X, characterManager.GetPlayer().Collision.Position.Y, actor.Collision.Position.Z) + (actor.GetAttackAngle() * ((actor.Collision.Radius / 2) + startRange)), 3),
                10000,
                actor.Tag,
                actor.GetAttack(),
                actor.GetAttackAngle(),
                buffType);

            characterManager.AddHitBox(box);
            characterManager.Sound(seName);
            particleManager.AddParticle(new Bullet(box, new Vector2(10, 10), textureName));
        }
        /// <summary>
        /// すごく馬鹿らしい計算だとは思いますがモチベが今ないです あとで治すかもしれない・・
        /// </summary>
        public override void Attack()
        {
            var box = new MoveDamageBox(
                new BoundingSphere(new Vector3(actor.Collision.Position.X, characterManager.GetPlayer().Collision.Position.Y, actor.Collision.Position.Z) + (actor.GetAttackAngle() * ((actor.Collision.Radius / 2) + startRange)), 3),
                10000,
                actor.Tag,
                actor.GetAttack(),
                actor.GetAttackAngle(),
                buffType);

            characterManager.AddHitBox(box);
            particleManager.AddParticle(new Bullet(box, new Vector2(10, 10), textureName));

            var box1 = new MoveDamageBox(
                new BoundingSphere(new Vector3(actor.Collision.Position.X, characterManager.GetPlayer().Collision.Position.Y, actor.Collision.Position.Z) + (actor.GetAttackAngle() * ((actor.Collision.Radius / 2) + startRange)), 3),
                10000,
                actor.Tag,
                actor.GetAttack(),
                new Vector3((float)Math.Cos(Math.Atan2(actor.GetAttackAngle().Z, actor.GetAttackAngle().X) + 0.5f), 0, (float)Math.Sin(Math.Atan2(actor.GetAttackAngle().Z, actor.GetAttackAngle().X) + 0.5f)),
                buffType);

            characterManager.AddHitBox(box1);
            particleManager.AddParticle(new Bullet(box1, new Vector2(10, 10), textureName));

            var box2 = new MoveDamageBox(
                new BoundingSphere(new Vector3(actor.Collision.Position.X, characterManager.GetPlayer().Collision.Position.Y, actor.Collision.Position.Z) + (actor.GetAttackAngle() * ((actor.Collision.Radius / 2) + startRange)), 3),
                10000,
                actor.Tag,
                actor.GetAttack(),
                new Vector3((float)Math.Cos(Math.Atan2(actor.GetAttackAngle().Z, actor.GetAttackAngle().X) - 0.5f), 0, (float)Math.Sin(Math.Atan2(actor.GetAttackAngle().Z, actor.GetAttackAngle().X) - 0.5f)),
                buffType);

            characterManager.AddHitBox(box2);
            particleManager.AddParticle(new Bullet(box2, new Vector2(10, 10), textureName));

            characterManager.Sound(seName);
        }