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(); }
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); }