std::vector<Bullet*> AssaultRifleBarrelModifier::Fire(vec2 aPosition, vec2 aDirection, std::vector<BulletModifier*> aBulletModifiers)
{
    Bullet* bullet = GetGameScene()->GetBullet();

    vec2 velocity = aDirection;

    bullet->Initialize(aPosition, velocity, aBulletModifiers);
    GetGameScene()->AddGameObject(bullet, bullet->GetName());

    std::vector<Bullet*> bullets;
    bullets.push_back(bullet);

    return bullets;
}
Exemplo n.º 2
0
void PlayerCenter::Update()
{
	Sprite::Update();

	auto engine = STGEngine::GetInstance();
	auto scene = engine->GetGameScene();
	auto player = engine->GetPlayer();

	Vector3f pos = player->GetPosition();
	pos.z = 1.0f;
	SetPosition(pos);

	if (state == ARISE)
	{
		alpha += 1.0f / ARISE_TIME;
		if (alpha >= 1.0f)
		{
			state = NORMAL;
			alpha = 1.0f;
		}
	}
	else if (state == DISAPPEAR)
	{
		alpha -= 1.0f / DISAPPEAR_TIME;
		if (alpha < 0.0f)
		{
			MarkDestroy();
		}
	}
}
Exemplo n.º 3
0
void Stage01::InitBackground()
{
	auto engine = STGEngine::GetInstance();
	auto background = engine->GetGameScene()->GetBackgroundLayer();

	SetupCamera();
	SetupFog();

	background->SetSkyBox(sky);
	background->EnableLighting(true);
	background->SetAmbientLight(Vector4f(0.3f, 0.3f, 0.3f, 1.0f));
	background->AddLight(Ptr<DirectionalLight>::New(Vector3f(1.8f, 1.8f, 1.8f), Vector3f(1.0f, -1.0f, 0.0f)).Get());

	InitBackgroundObjects();
}