fire(from, x, y) → {Phaser.Bullet}
Attempts to fire a single Bullet. If there are no more bullets available in the pool, and the pool cannot be extended,then this method returns false. It will also return false if not enough time has expired since the last timethe Weapon was fired, as defined in the Weapon.fireRate property. Otherwise the first available bullet is selected and launched. The arguments are all optional, but allow you to control both where the bullet is launched from, and aimed