CanShoot detects if there is no Camera.main
Implementing most of the Weapon methods