void LoadGame::doCancel() { if (!Game::getInstance()->locationState()) { fadeDoneHandler().clear(); fadeDoneHandler().add([this](Event::Event* event){ this->onCancelFadeDone(dynamic_cast<Event::State*>(event)); }); Game::getInstance()->renderer()->fadeOut(255,255,255,1000); } else { Game::getInstance()->popState(); } }
void State::scriptFade(VM::Script *script, bool in) { fadeDoneHandler().clear(); fadeDoneHandler().add([this, script](Event::Event* event){ fadeDoneHandler().clear(); script->run();}); if (in) { Game::getInstance()->renderer()->fadeIn(0, 0, 0, 1000); } else { Game::getInstance()->renderer()->fadeOut(0, 0, 0, 1000); } }
void NewGame::onBackFadeDone(Event::State* event) { fadeDoneHandler().clear(); Game::getInstance()->popState(); }
void NewGame::doBack() { fadeDoneHandler().clear(); fadeDoneHandler().add([this](Event::Event* event){ this->onBackFadeDone(dynamic_cast<Event::State*>(event)); }); Game::getInstance()->renderer()->fadeOut(0,0,0,1000); }
void LoadGame::onCancelFadeDone(Event::State* event) { fadeDoneHandler().clear(); Game::getInstance()->popState(); }