public override void Fire(Animation animation, GameTime gameTime) { if (Target != null && Target.IsAlive()) { var bullet = new FreezeBullet(this, this.Damage, Target, 0.5); bullet.SetColor(Microsoft.Xna.Framework.Color.Blue); bullet.SetSize(16, 16); bullet.SetPosition(X, Y); bullet.SetSpeed(300); bullet.SetScene(Scene); Sprite.Layer.AddSprite(bullet.Sprite); Scene.AddBullet(bullet); } }
void Shot() { Quaternion rotate = Quaternion.identity; if (dashDirection == Vector2.right) { rotate = Quaternion.Euler(0, 0, -90); } else if (dashDirection == new Vector2(1, 1)) { rotate = Quaternion.Euler(0, 0, -45); } else if (dashDirection == new Vector2(1, -1)) { rotate = Quaternion.Euler(0, 0, -135); } else if (dashDirection == new Vector2(-1, 1)) { rotate = Quaternion.Euler(0, 0, 45); } else if (dashDirection == Vector2.left) { rotate = Quaternion.Euler(0, 0, 90); } else if (dashDirection == new Vector2(-1, -1)) { rotate = Quaternion.Euler(0, 0, 135); } else if (dashDirection == Vector2.up) { rotate = Quaternion.Euler(0, 0, 0); } else if (dashDirection == Vector2.down) { rotate = Quaternion.Euler(0, 0, -180); } FreezeBullet bullet = Instantiate(bulletPrefab, transform.position, rotate).GetComponent <FreezeBullet>(); bullet.Init(dashDirection); //Game }
void Shoot() { GameObject bulletGO = (GameObject)Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); if (useFreezeBullet) { FreezeBullet freezebullet = bulletGO.GetComponent <FreezeBullet>(); if (freezebullet != null) { freezebullet.Seek(target, currentEnemyWavepointTo); } } else { Bullet bullet = bulletGO.GetComponent <Bullet>(); if (bullet != null) { bullet.Seek(target, currentEnemyWavepointTo); } } }