本文整理汇总了C++中Sim::GetControls方法的典型用法代码示例。如果您正苦于以下问题:C++ Sim::GetControls方法的具体用法?C++ Sim::GetControls怎么用?C++ Sim::GetControls使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sim
的用法示例。
在下文中一共展示了Sim::GetControls方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
NavAI::ExecFrame(double s)
{
if (!ship) return;
seconds = s;
ship->SetDirectorInfo(" ");
if (ship->GetFlightPhase() == Ship::TAKEOFF)
takeoff = true;
else if (takeoff && ship->MissionClock() > 10000)
takeoff = false;
FindObjective();
Navigator();
// watch for disconnect:
if (ShipCtrl::Toggled(KEY_AUTO_NAV)) {
NavSystem* navsys = ship->GetNavSystem();
if (navsys) {
HUDView::GetInstance()->SetHUDMode(HUDView::HUD_MODE_TAC);
navsys->DisengageAutoNav();
Sim* sim = Sim::GetSim();
if (sim) {
ship->SetControls(sim->GetControls());
return;
}
}
}
static double time_til_change = 0.0;
if (time_til_change < 0.001) {
if (ship->GetShield()) {
Shield* shield = ship->GetShield();
double level = shield->GetPowerLevel();
if (ShipCtrl::KeyDown(KEY_SHIELDS_FULL)) {
HUDSounds::PlaySound(HUDSounds::SND_SHIELD_LEVEL);
shield->SetPowerLevel(100);
time_til_change = 0.5f;
}
else if (ShipCtrl::KeyDown(KEY_SHIELDS_ZERO)) {
HUDSounds::PlaySound(HUDSounds::SND_SHIELD_LEVEL);
shield->SetPowerLevel(0);
time_til_change = 0.5f;
}
else if (ShipCtrl::KeyDown(KEY_SHIELDS_UP)) {
if (level < 25) level = 25;
else if (level < 50) level = 50;
else if (level < 75) level = 75;
else level = 100;
HUDSounds::PlaySound(HUDSounds::SND_SHIELD_LEVEL);
shield->SetPowerLevel(level);
time_til_change = 0.5f;
}
else if (ShipCtrl::KeyDown(KEY_SHIELDS_DOWN)) {
if (level > 75) level = 75;
else if (level > 50) level = 50;
else if (level > 25) level = 25;
else level = 0;
HUDSounds::PlaySound(HUDSounds::SND_SHIELD_LEVEL);
shield->SetPowerLevel(level);
time_til_change = 0.5f;
}
}
}
else {
time_til_change -= seconds;
}
if (ShipCtrl::Toggled(KEY_DECOY))
ship->FireDecoy();
if (ShipCtrl::Toggled(KEY_LAUNCH_PROBE))
ship->LaunchProbe();
if (ShipCtrl::Toggled(KEY_GEAR_TOGGLE))
ship->ToggleGear();
if (ShipCtrl::Toggled(KEY_NAVLIGHT_TOGGLE))
ship->ToggleNavlights();
if (drop_state < 0) {
ship->DropOrbit();
return;
}
if (drop_state > 0) {
ship->MakeOrbit();
return;
//.........这里部分代码省略.........