Пример #1
0
void GUISystem::switchToScreenHandler(Event::SwitchToScreen *event) {
    if(event->getScreen().empty()) {
        LOG(GUI, "popping current screen");
        popScreen();
    }
    else if(event->getScreen()[0] == '-') {
        std::string until = event->getScreen().substr(1);
        LOG(GUI, "popping until screen \"" << until << "\"");
        popScreen(until);
    }
    else {
        LOG(GUI, "pushing screen \"" << event->getScreen() << "\"");
        pushScreen(event->getScreen());
    }
}
Пример #2
0
void ScreenManager::proccesRequests()
{
	if (!pendingRequests.empty())
	{
		for (auto itr = pendingRequests.begin(); itr != pendingRequests.end(); itr++)
		{
			switch (itr->action)
			{
				case Action::Push:
					handlePush(itr->screenID);
					break;

				case Action::Pop:
					popScreen();
					break;

				case Action::Clear:
					clearScreens();
					break;
			}
		}

		pendingRequests.clear();
	}
}
Пример #3
0
void GUISystem::pauseGameHandler(Event::PauseGame *event) {
    if(event->getPaused()) {
        pushScreen("paused");
    }
    else {
        popScreen("running");
    }
}
Пример #4
0
  void StartScreen::update(PlayerInput& input, const GameTime game_time) {
    UNUSED(game_time);

    right_box_.update(input);

    if(hasClosedScreen(input, right_box_)) {
      popScreen();
    }
  }
Пример #5
0
void ScreenInfo::clickButtonAccept()
{
	popScreen();
}