//creates fireballs to shoot/repositions invisible fireballs to be reused private void ShootFireball(Vector2 enemyPos) { bool aCreateNew = true; foreach (Fireball aFireball in mFireballs) { if (aFireball.Visible == false) { aCreateNew = false; aFireball.Fire(getPosition() + new Vector2(getWidth() / 2, getHeight() / 2), new Vector2(200, 200), new Vector2(1, 0)); break; } } if (aCreateNew == true) { Fireball aFireball = new Fireball(); aFireball.LoadContent(mContentManager); aFireball.Fire(getPosition() + new Vector2(getWidth() / 2, getHeight() / 2), new Vector2(200, 200), new Vector2(1, 0)); mFireballs.Add(aFireball); } }
private void ShootFireball() { if (mCurrentState == State.Walking || mCurrentState == State.Jumping || mCurrentState == State.Flying) { bool aCreateNew = true; foreach (Fireball aFireball in mFireballs) { if (aFireball.Visible == false) { aCreateNew = false; aFireball.Fire(Position + new Vector2(Size.Width / 2, Size.Height / 2), new Vector2(200, 0), new Vector2(1, 0)); break; } } if (aCreateNew == true) { Fireball aFireball = new Fireball(); aFireball.LoadContent(mContentManager); aFireball.Fire(Position + new Vector2(Size.Width / 2, Size.Height / 2), new Vector2(200, 200), new Vector2(1, 0)); mFireballs.Add(aFireball); } } }