void Hero::fireWeapon(){
	if(mWeaponSelected == Weapon_None){
		return;
	}
	Shot* ms = new Shot();
	if (mWeaponSelected == Weapon_Gun){
		ms->setShotType(Shot::ShotType_Bullet);
		Sound::playSample("data/sounds/shoot.wav");
	} else if (mWeaponSelected == Weapon_Gravity_Grenade){
		ms->setShotType(Shot::ShotType_GravityGrenade);
		Sound::playSample("data/sounds/throwgrenade.wav");
	}
	ms->setPosition(getPosition());
	ms->setDirection(getFacingDirection());
	ms->setInitialVelocity(float2(ms->getInitialVelocity().x, ms->getInitialVelocity().y * getGravityDirection()));
	mRoom->addEntity(ms);

}
示例#2
0
void Shooter::update() {
    //rand()
    if(mFrame %(mSpeed) == 0) {
        Shot* ms = new Shot();
        ms->setShotType(Shot::ShotType_Fireball);
        ms->setInitialVelocity(float2(0.f,mInitialVelocity[Shot::ShotType_Fireball].y));
        ms->setPosition(getPosition());
        mRoom->addEntity(ms);
    }

    mFrame++;
}