void MasterControl::Start() { new InputMaster(context_, this); cache_ = GetSubsystem<ResourceCache>(); graphics_ = GetSubsystem<Graphics>(); renderer_ = GetSubsystem<Renderer>(); CreateSineLookupTable(); // Get default style defaultStyle_ = cache_->GetResource<XMLFile>("UI/DefaultStyle.xml"); //Create console and debug HUD. CreateConsoleAndDebugHud(); //Create the scene content CreateScene(); //Create the UI content CreateUI(); //Hook up to the frame update and render post-update events SubscribeToEvents(); Sound* music = cache_->GetResource<Sound>("Resources/Music/Alien Chaos - Disorder.ogg"); //Battle music->SetLooped(true); Node* musicNode = world.scene->CreateChild("Music"); SoundSource* musicSource = musicNode->CreateComponent<SoundSource>(); musicSource->SetGain(0.32f); musicSource->SetSoundType(SOUND_MUSIC); musicSource->Play(music); }
void Bullet::Init(bool isPlayer, Vector2 spawnPosition) { ResourceCache* cache = GetSubsystem<ResourceCache>(); Graphics* graphics = GetSubsystem<Graphics>(); halfHeight_ = graphics->GetHeight() * PIXEL_SIZE * 0.5f; isPlayer_ = isPlayer; Sound* laserSound = cache->GetResource<Sound>(isPlayer_ ? "Sounds/laser01.wav" : "Sounds/laser02.wav"); StaticSprite2D* sprite2D = node_->CreateComponent<StaticSprite2D>(); if (isPlayer_) sprite2D->SetSprite( cache->GetResource<Sprite2D>("Sprites/blue_beam.png")); else sprite2D->SetSprite(cache->GetResource<Sprite2D>("Sprites/green_beam.png")); sprite2D->SetBlendMode(BLEND_ADDALPHA); SoundSource* soundSource = node_->CreateComponent<SoundSource>(); soundSource->SetSoundType(SOUND_EFFECT); soundSource->SetGain(0.75f); soundSource->Play(laserSound); node_->SetPosition2D(spawnPosition); if (!isPlayer) { node_->Roll(180.0f); } }
void SoundEffects::HandlePlayMusic(StringHash eventType, VariantMap& eventData) { // Check if the music player node/component already exist if (scene_->GetChild("Music")) return; ResourceCache* cache = GetSubsystem<ResourceCache>(); Sound* music = cache->GetResource<Sound>("Music/Ninja Gods.ogg"); // Set the song to loop music->SetLooped(true); // Create a scene node and a sound source for the music Node* musicNode = scene_->CreateChild("Music"); SoundSource* musicSource = musicNode->CreateComponent<SoundSource>(); // Set the sound type to music so that master volume control works correctly musicSource->SetSoundType(SOUND_MUSIC); musicSource->Play(music); }