本文整理汇总了C++中Starshatter::SetGameMode方法的典型用法代码示例。如果您正苦于以下问题:C++ Starshatter::SetGameMode方法的具体用法?C++ Starshatter::SetGameMode怎么用?C++ Starshatter::SetGameMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Starshatter
的用法示例。
在下文中一共展示了Starshatter::SetGameMode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
DebriefDlg::OnClose(AWEvent* event)
{
Sim* sim = Sim::GetSim();
sim->CommitMission();
sim->UnloadMission();
NetLobby* lobby = NetLobby::GetInstance();
if (lobby && lobby->IsHost()) {
lobby->SelectMission(0);
lobby->ExecFrame();
}
Player* player = Player::GetCurrentPlayer();
if (player && player->ShowAward()) {
manager->ShowAwardDlg();
}
else {
Starshatter* stars = Starshatter::GetInstance();
if (stars) {
Mouse::Show(false);
Campaign* campaign = Campaign::GetCampaign();
if (campaign && campaign->GetCampaignId() < Campaign::SINGLE_MISSIONS)
stars->SetGameMode(Starshatter::CMPN_MODE);
else
stars->SetGameMode(Starshatter::MENU_MODE);
}
else {
Game::Panic("DebriefDlg::OnClose() - Game instance not found");
}
}
}
示例2: if
void
QuitView::ExecFrame()
{
sim = Sim::GetSim();
if (show_menu) {
Color::SetFade(1, Color::Black, 0);
int action = 0;
if (Mouse::LButton()) {
mouse_latch = true;
}
else if (mouse_latch) {
mouse_latch = false;
if (Mouse::X() > xcenter - w2 && Mouse::X() < xcenter + w2) {
int y0 = ycenter - h2;
for (int i = 0; i < 4; i++)
if (Mouse::Y() >= y0 + 75 + i * 30 && Mouse::Y() <= y0 + 105 + i * 30)
action = i+1;
}
}
for (int i = 1; i <= 4; i++) {
if (Keyboard::KeyDown('0' + i))
action = i;
}
// was mission long enough to accept?
if (action == 1 && !CanAccept()) {
Button::PlaySound(Button::SND_REJECT);
action = 3;
}
// exit and accept:
if (action == 1) {
CloseMenu();
Game::SetTimeCompression(1);
Starshatter* stars = Starshatter::GetInstance();
stars->SetGameMode(Starshatter::PLAN_MODE);
}
// quit and discard results:
else if (action == 2) {
CloseMenu();
Game::SetTimeCompression(1);
Starshatter* stars = Starshatter::GetInstance();
Campaign* campaign = Campaign::GetCampaign();
// discard mission and events:
if (sim) sim->UnloadMission();
else ShipStats::Initialize();
if (campaign && campaign->GetCampaignId() < Campaign::SINGLE_MISSIONS) {
campaign->RollbackMission();
stars->SetGameMode(Starshatter::CMPN_MODE);
}
else {
stars->SetGameMode(Starshatter::MENU_MODE);
}
}
// resume:
else if (action == 3) {
CloseMenu();
}
// controls:
else if (action == 4) {
GameScreen* game_screen = GameScreen::GetInstance();
if (game_screen)
game_screen->ShowCtlDlg();
else
CloseMenu();
}
}
}