本文整理汇总了C++中util::ConfigGlobal类的典型用法代码示例。如果您正苦于以下问题:C++ ConfigGlobal类的具体用法?C++ ConfigGlobal怎么用?C++ ConfigGlobal使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigGlobal类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: setPause
void EngineStage::setPause(bool value, bool targetAllSounds)
{
if (value)
{
if (targetAllSounds)
OgreFramework::getSingletonPtr()->m_pSoundMgr->pauseAllSounds();
player->pause();
// Display current level index
LevelSet* levels = player->getLevels();
std::string msg = "Level: ";
msg += Util::toStringInt(player->getLevelRequestRow() + 1);
msg += "-";
msg += (char)('A' + player->getLevelRequestCol());
globals.setMessage(msg, MESSAGE_NORMAL);
Ogre::ControllerManager::getSingleton().setTimeFactor(0);
}
else
{
player->unpause();
if (targetAllSounds)
OgreFramework::getSingletonPtr()->m_pSoundMgr->resumeAllPausedSounds();
globals.clearMessage();
Ogre::ControllerManager::getSingleton().setTimeFactor(1);
}
}
开发者ID:emfb760,项目名称:brain-game,代码行数:27,代码来源:EngineStage.cpp
示例2: activateReleased
void EngineStage::activateReleased(float x, float y, float dx, float dy)
{
if (stageState == STAGE_STATE_PAUSE && !player->hasTriggeredStartup())
{
HudSlider* speedSlider = NULL;
if (hud) speedSlider = hud->getSpeedSlider();
if (speedSlider && speedSlider->selected)
{
speedSlider->selected = false;
Vector2 np;
#if !defined(OGRE_IS_IOS)
if (speedSlider->orientation)
np = speedSlider->p2 + globals.convertToPercentScreen(Vector2(0.0, dy));
else
np = speedSlider->p2 + globals.convertToPercentScreen(Vector2(dx, 0.0));
#else
if (speedSlider->orientation)
np = speedSlider->p2cache + globals.convertToPercentScreen(Vector2(0.0, dy));
else
np = speedSlider->p2cache + globals.convertToPercentScreen(Vector2(dx, 0.0));
#endif
speedSlider->setBallPosition(np);
//std::cout << "release\n";
}
}
}
开发者ID:emfb760,项目名称:brain-game,代码行数:26,代码来源:EngineStage.cpp
示例3: setupDemoScene
void OgreApp::setupDemoScene()
{
globals.initPaths();
#if defined(OGRE_IS_IOS) && defined(NETWORKING)
syncConfig();
#endif
seed = time(0);
srand(seed);
// The code snippet below is used to output text
// create a font resource
ResourcePtr resourceText = OgreFramework::getSingletonPtr()->m_pFontMgr->create("Arial", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
resourceText->setParameter("type", "truetype");
//resourceText->setParameter("source", "C64_User_Mono_v1.0-STYLE.ttf");
resourceText->setParameter("source", "NEUROPOL.ttf");
resourceText->setParameter("size", "16");
resourceText->setParameter("resolution", "96");
resourceText->load();
Util::createSphere(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "sphereMesh", 1.0, 8, 8);
Util::createCylinder(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "cylinderMesh", 1.0, 1.0, 8);
Util::createDiamond(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "diamondMesh", 1.0, 1.0);
Util::createBox(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "boxMesh", 1.0, 1.0, 1.0);
Util::createPlane(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "planeMesh", 1.0, 1.0);
Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain);
globals.initPaths();
//if (!configStageType(globals.configPath, globals.configBackup, "globalConfig"))
// globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3::ZERO);
OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(Vector3::ZERO);
player = new Player(
globals.playerName,
OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(),
OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(),
globals.initCamSpeed,
globals.vineTOffset,
seed,
"vinezors" + Util::toStringInt(seed) + ".csv");
player->setSounds(true);
if (!player->loadProgress(globals.savePath))
std::cout << "WARNING: Save File could not be loaded correctly" << std::endl;
globals.initLogs(player->getSkillLevel().sessionID);
engineStateMgr = new EngineStateManager();
engineStateMgr->requestPushEngine(ENGINE_MAIN_MENU, player);
#if defined(OGRE_IS_IOS) && (NETWORKING)
syncLogs();
#endif
}
开发者ID:emfb760,项目名称:brain-game,代码行数:54,代码来源:OgreApp.cpp
示例4: setupDemoScene
void OgreApp::setupDemoScene()
{
globals.initPaths();
globals.VendorID = getVendorID();
globals.initGlobalSettingsPath();
globals.saveGlobalSettings(globals.globalPath);
#if defined(OGRE_IS_IOS) && defined(NETWORKING)
//syncConfig();
#endif
seed = time(0);
srand(seed);
std::cout << "SEED: " << seed << std::endl;
// create font resources
ResourcePtr resourceText1 = OgreFramework::getSingletonPtr()->m_pFontMgr->create("MainSmall", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
resourceText1->setParameter("type", "truetype");
//resourceText1->setParameter("source", "C64_User_Mono_v1.0-STYLE.ttf");
resourceText1->setParameter("source", "NEUROPOLX.ttf");
resourceText1->setParameter("size", "16");
resourceText1->setParameter("resolution", "96");
resourceText1->load();
ResourcePtr resourceText2 = OgreFramework::getSingletonPtr()->m_pFontMgr->create("MainBig", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
resourceText2->setParameter("type", "truetype");
resourceText2->setParameter("source", "Philosopher-Bold.ttf");
resourceText2->setParameter("size", "16");
resourceText2->setParameter("resolution", "256");
resourceText2->load();
Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain);
OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3::ZERO);
OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(Vector3::ZERO);
player = new Player(
globals.playerName,
OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(),
OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(),
globals.initCamSpeed,
globals.vineTOffset,
seed,
"vinezors" + Util::toStringInt(seed) + ".csv");
player->setSounds();
if (!player->loadProgress(globals.savePath))
std::cout << "WARNING: Save File could not be loaded correctly" << std::endl;
player->feedLevelRequestFromSchedule();
engineStateMgr = new EngineStateManager();
engineStateMgr->requestPushEngine(ENGINE_MAIN_MENU, player);
#if defined(OGRE_IS_IOS) && defined(NETWORKING)
if (globals.syncDataToServer) syncLogs();
#endif
}
开发者ID:RynsArgent,项目名称:brain-game,代码行数:54,代码来源:OgreApp.cpp
示例5: endLevel
void OgreApp::endLevel(Evaluation forced)
{
globals.clearMessage();
if (tunnel)
{
tunnel->setCleaning(true);
if (levelMgr->levelFinished(tunnel, forced))
{
gameState = STATE_PROMPT;
globals.setMessage("Play Again?\n\n\n(Yes / No)\n\n\n<--- Swipe --->", MESSAGE_NORMAL);
}
else
gameState = STATE_PLAY;
}
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:16,代码来源:OgreApp.cpp
示例6: requestResize
void OgreFramework::requestResize()
{
m_pRenderWnd->windowMovedOrResized();
m_pCameraMain->setAspectRatio(Real(m_pViewportMain->getActualWidth()) / Real(m_pViewportMain->getActualHeight()));
globals.screenWidth = m_pRenderWnd->getWidth();
globals.screenHeight = m_pRenderWnd->getHeight();
globals.set();
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:8,代码来源:OgreFramework.cpp
示例7: queryButtons
std::string TutorialManager::queryButtons(Vector2 target) const
{
Vector2 comp = globals.convertToPercentScreen(target);
for (int i = 0; i < buttons.size(); ++i)
{
if ((buttons[i].overlay && buttons[i].overlay->isVisible()) && buttons[i].isInside(comp) && buttons[i].active)
{
return buttons[i].name;
}
}
return "";
}
开发者ID:valeedm92,项目名称:brain-game,代码行数:12,代码来源:TutorialManager.cpp
示例8: setPause
void OgreApp::setPause(bool value)
{
if (value)
{
pause = value;
player->pause();
OgreFramework::getSingletonPtr()->m_pSoundMgr->pauseAllSounds();
if (predictSessionOver())
{
if (player->getName() == "subject999")
globals.setMessage("Training is complete!\nPlease check in.\n\nDouble tap to exit.", MESSAGE_FINAL);
else
globals.setMessage("That's it for Today!\nPlease check in before you leave.\n\nYou completed: " + Util::toStringInt(player->getNumStagesWon()) + " stages!\n\nDouble tap to exit.", MESSAGE_FINAL);
endGame();
}
else
{
globals.appendMessage("\n\nSwipe to Continue", MESSAGE_NORMAL);
#ifdef DEBUG_MODE
globals.appendMessage("\n\n" + player->getSkillLevel().getCurrentStats(), MESSAGE_NORMAL);
globals.appendMessage("\n\n" + Util::toStringInt(globals.sessionTime - getTotalElapsed()), MESSAGE_NORMAL);
#endif
}
Ogre::ControllerManager::getSingleton().setTimeFactor(0);
}
else if (!sessionOver)
{
pause = value;
player->unpause();
OgreFramework::getSingletonPtr()->m_pSoundMgr->resumeAllPausedSounds();
globals.clearMessage();
Ogre::ControllerManager::getSingleton().setTimeFactor(1);
}
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:35,代码来源:OgreApp.cpp
示例9: activatePressed
void EngineStage::activatePressed(float x, float y)
{
if (stageState == STAGE_STATE_PAUSE && !player->hasTriggeredStartup())
{
HudSlider* speedSlider = NULL;
if (hud) speedSlider = hud->getSpeedSlider();
if (speedSlider)
{
Vector2 pos = globals.convertToPercentScreen(Vector2(x, y));
// Case for tapping into the slider which makes ball jump to position
if (speedSlider->isInsideRange(pos))
{
// Project position to range
if (speedSlider->orientation)
{
float ny = pos.y - speedSlider->p1.y - speedSlider->dim2.y / 2;
speedSlider->setBallPosition(Vector2(speedSlider->p2.x, ny));
}
else
{
float nx = pos.x - speedSlider->p1.x - speedSlider->dim2.x / 2;
speedSlider->setBallPosition(Vector2(nx, speedSlider->p2.y));
}
}
// Initialize p2cache first time we touch ball
// p2cache is better since iOS tracking uses total dx which is more accurate
// then passing in a dx everytime
if (speedSlider->isInsideBall(pos))
{
speedSlider->selected = true;
speedSlider->p2cache = speedSlider->p2;
}
//std::cout << "press\n";
}
}
}
开发者ID:emfb760,项目名称:brain-game,代码行数:38,代码来源:EngineStage.cpp
示例10: activateMoved
// The following deal with injecting coordinates to simulate a slider
//
void EngineTabSettings::activateMoved(float x, float y, float dx, float dy)
{
Ogre::Vector2 temp = globals.convertToPercentScreen(Vector2(0.0,dy));
std::cout << "Temp: "<<"(" << temp.x <<", " << temp.y << ")" << std::endl;
//Testing Dragging!
/*
if(touchedBox)
{
Ogre::Vector2 temp2 = globals.convertToPercentScreen(Vector2(x,y));
//Move everything depending on the dy!
Ogre::Vector2 temp = globals.convertToPercentScreen(Vector2(0.0,dy));
//float newy = initTextPosition
float constant = 1;
temp.y /= constant;
hud->enableUnlimitedFuelBackground->setPosition(.32, hud->initTextPosition.y+temp.y);
}
*/
}
开发者ID:RynsArgent,项目名称:brain-game,代码行数:26,代码来源:EngineTabSettings.cpp
示例11: setup
void EngineStage::setup()
{
globals.clearMessage();
// Dealloc data
dealloc();
// Retrieve player skill and gen new tunnel
PlayerLevel skillLevel = player->getSkillLevel();
// Setup player and tunnel params
Vector3 origin = Vector3::ZERO;
Vector3 forward = globals.tunnelReferenceForward;
Quaternion rot = Quaternion(1, 0, 0, 0);
//if (!configStageType(globals.configPath, globals.configBackup, "globalConfig"))
// globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
globals.maxCamSpeed = skillLevel.maxSpeed;
globals.stageTotalTargets1 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
globals.stageTotalTargets2 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
globals.stageTotalTargets3 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
StageMode nmode = STAGE_MODE_PROFICIENCY;
StageRequest level = player->getLevels()->retrieveLevel(player->getLevelRequestRow(), player->getLevelRequestCol());
int nlevel = level.nback;
switch (level.phase)
{
case 'A':
{
nmode = STAGE_MODE_COLLECTION;
globals.signalTypes = std::vector<std::vector<PodInfo> >(4);
globals.signalTypes[POD_SIGNAL_1].push_back(PodInfo(POD_SIGNAL_1, POD_FUEL, POD_COLOR_BLUE, POD_SHAPE_UNKNOWN, POD_SOUND_1));
globals.signalTypes[POD_SIGNAL_2].push_back(PodInfo(POD_SIGNAL_2, POD_FUEL, POD_COLOR_GREEN, POD_SHAPE_UNKNOWN, POD_SOUND_2));
globals.signalTypes[POD_SIGNAL_3].push_back(PodInfo(POD_SIGNAL_3, POD_FUEL, POD_COLOR_PINK, POD_SHAPE_UNKNOWN, POD_SOUND_3));
globals.signalTypes[POD_SIGNAL_4].push_back(PodInfo(POD_SIGNAL_4, POD_FUEL, POD_COLOR_YELLOW, POD_SHAPE_UNKNOWN, POD_SOUND_4));
//globals.setBigMessage(Util::toStringInt(nlevel) + "-Back");
globals.appendMessage("\nObtain matches by Color!", MESSAGE_NORMAL);
break;
}
case 'B':
{
nmode = STAGE_MODE_COLLECTION;
globals.signalTypes = std::vector<std::vector<PodInfo> >(4);
globals.signalTypes[POD_SIGNAL_1].push_back(PodInfo(POD_SIGNAL_1, POD_FUEL, POD_COLOR_UNKNOWN, POD_SHAPE_DIAMOND, POD_SOUND_1));
globals.signalTypes[POD_SIGNAL_2].push_back(PodInfo(POD_SIGNAL_2, POD_FUEL, POD_COLOR_UNKNOWN, POD_SHAPE_SPHERE, POD_SOUND_2));
globals.signalTypes[POD_SIGNAL_3].push_back(PodInfo(POD_SIGNAL_3, POD_FUEL, POD_COLOR_UNKNOWN, POD_SHAPE_CONE, POD_SOUND_3));
globals.signalTypes[POD_SIGNAL_4].push_back(PodInfo(POD_SIGNAL_4, POD_FUEL, POD_COLOR_UNKNOWN, POD_SHAPE_TRIANGLE, POD_SOUND_4));
//globals.setBigMessage(Util::toStringInt(nlevel) + "-Back");
globals.appendMessage("Obtain matches by Shape!", MESSAGE_NORMAL);
break;
}
case 'C':
{
nmode = STAGE_MODE_COLLECTION;
globals.signalTypes = std::vector<std::vector<PodInfo> >(4);
globals.signalTypes[POD_SIGNAL_1].push_back(PodInfo(POD_SIGNAL_1, POD_FUEL, POD_COLOR_HOLDOUT, POD_SHAPE_UNKNOWN, POD_SOUND_1));
globals.signalTypes[POD_SIGNAL_2].push_back(PodInfo(POD_SIGNAL_2, POD_FUEL, POD_COLOR_HOLDOUT, POD_SHAPE_UNKNOWN, POD_SOUND_2));
globals.signalTypes[POD_SIGNAL_3].push_back(PodInfo(POD_SIGNAL_3, POD_FUEL, POD_COLOR_HOLDOUT, POD_SHAPE_UNKNOWN, POD_SOUND_3));
globals.signalTypes[POD_SIGNAL_4].push_back(PodInfo(POD_SIGNAL_4, POD_FUEL, POD_COLOR_HOLDOUT, POD_SHAPE_UNKNOWN, POD_SOUND_4));
//globals.setBigMessage(Util::toStringInt(nlevel) + "-Back");
globals.setMessage("Obtain matches by only sound!", MESSAGE_NORMAL);
break;
}
case 'D':
nmode = STAGE_MODE_COLLECTION;
globals.signalTypes = std::vector<std::vector<PodInfo> >(4);
globals.signalTypes[POD_SIGNAL_1].push_back(PodInfo(POD_SIGNAL_1, POD_FUEL, POD_COLOR_BLUE, POD_SHAPE_DIAMOND, POD_SOUND_1));
globals.signalTypes[POD_SIGNAL_2].push_back(PodInfo(POD_SIGNAL_2, POD_FUEL, POD_COLOR_GREEN, POD_SHAPE_SPHERE, POD_SOUND_2));
globals.signalTypes[POD_SIGNAL_3].push_back(PodInfo(POD_SIGNAL_3, POD_FUEL, POD_COLOR_PINK, POD_SHAPE_CONE, POD_SOUND_3));
globals.signalTypes[POD_SIGNAL_4].push_back(PodInfo(POD_SIGNAL_4, POD_FUEL, POD_COLOR_YELLOW, POD_SHAPE_TRIANGLE, POD_SOUND_4));
//globals.setBigMessage(Util::toStringInt(nlevel) + "-Back");
globals.setMessage("Obtain matching signals!", MESSAGE_NORMAL);
break;
case 'E':
nmode = STAGE_MODE_RECESS;
globals.signalTypes.clear();
if (level.initCamSpeed <= 15) // For starting slower stages, be nicer
globals.stageTotalCollections = (level.minCamSpeed + level.maxCamSpeed) / 3.0 * level.stageTime / Util::getModdedLengthByNumSegments(globals, globals.tunnelSegmentsPerPod);
else
globals.stageTotalCollections = (level.minCamSpeed + level.maxCamSpeed) / 2.5 * level.stageTime / Util::getModdedLengthByNumSegments(globals, globals.tunnelSegmentsPerPod);
//globals.setBigMessage("Recess!");
globals.setMessage("Reach the end! Grab Fuel Cells!", MESSAGE_NORMAL);
break;
case 'F':
nmode = STAGE_MODE_TEACHING;
globals.signalTypes.clear();
//globals.setBigMessage("Training!");
globals.setMessage("Grab Fuel Cells!", MESSAGE_NORMAL);
break;
}
globals.initCamSpeed = level.initCamSpeed;
globals.minCamSpeed = level.minCamSpeed;
globals.maxCamSpeed = level.maxCamSpeed;
//.........这里部分代码省略.........
开发者ID:emfb760,项目名称:brain-game,代码行数:101,代码来源:EngineStage.cpp
示例12: setLevel
void OgreApp::setLevel(Evaluation forced, bool forward)
{
globals.clearMessage();
std::vector<NavigationLevel> navLevels;
if (tunnel)
{
levelMgr->updatePlayerSkill(tunnel, forced);
if (forward)
levelMgr->incrementSchedIndex();
else
levelMgr->decrementSchedIndex();
navLevels = tunnel->getNavLevels();
player->unlink();
tunnel->unlink();
hud->unlink();
}
// Don't gen a new tunnel if our schedule is over
if (!predictSessionOver())
{
tunnel = levelMgr->getNextLevel(tunnel);
if (navLevels.size() <= 0) // First stage
{
globals.appendMessage("\n\nSession No: " + Util::toStringInt(player->getSkillLevel().sessionID), MESSAGE_NORMAL);
}
}
// Link/Relink Pointers
tunnel->link(player, hud);
player->link(tunnel, hud);
hud->init(tunnel, player);
if (!predictSessionOver())
{
// If repeated, repeat the same navigation level
if (levelMgr->isRepeatingPhase())
tunnel->setNavigationLevels(navLevels);
else
tunnel->setNavigationLevels();
tunnel->constructTunnel(globals.tunnelSections);
// If nback is same then panels are changing, keep speed same
player->setCamPos(tunnel->getStart() + tunnel->getCurrent()->getForward() * globals.tunnelSegmentDepth);
player->setCamRot(tunnel->getCurrent()->getQuaternion());
player->setDesireRot(player->getCamRot());
player->newTunnel(musicMode == MUSIC_ENABLED);
Plane plane;
switch (globals.setSkyBox)
{
case 0:
plane.d = 3000;
plane.normal = Ogre::Vector3(0, 0, 1);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setSkyPlane(true, plane, "General/SpaceSkyPlane", 80, 4, true);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setFog(Ogre::FOG_LINEAR, Ogre::ColourValue::ZERO, 0.0, 300.0, 600.0);
OgreFramework::getSingletonPtr()->m_pViewportMain->setBackgroundColour(ColourValue(0.0f, 0.0f, 0.0f, 1.0f));
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getSkyPlaneNode()->resetToInitialState();
break;
case 1:
plane.d = 160;
plane.normal = Ogre::Vector3(0, 0, 1);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setSkyPlane(true, plane, "General/TestSkyPlane0", 1.9, 1, true);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setFog(Ogre::FOG_LINEAR, Ogre::ColourValue(1.0, 0.95, 0.3, 0.0), 0.0, 500.0, 800.0);
OgreFramework::getSingletonPtr()->m_pViewportMain->setBackgroundColour(ColourValue(0.0f, 0.0f, 0.0f, 1.0f));
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getSkyPlaneNode()->resetToInitialState();
break;
default:
plane.d = 3000;
plane.normal = Ogre::Vector3(0, 0, 1);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setSkyPlane(true, plane, "General/SpaceSkyPlane", 80, 4, true);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setFog(Ogre::FOG_LINEAR, Ogre::ColourValue::ZERO, 0.0, 300.0, 600.0);
OgreFramework::getSingletonPtr()->m_pViewportMain->setBackgroundColour(ColourValue(0.0f, 0.0f, 0.0f, 1.0f));
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getSkyPlaneNode()->resetToInitialState();
break;
}
}
// Stop the game
setPause(true);
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:79,代码来源:OgreApp.cpp
示例13: extractTime
float LevelManager::extractTime(char c) const
{
PlayerLevel skillLevel = player->getSkillLevel();
switch (c)
{
case 'A':
{
if (skillLevel.set1Rep <= 0)
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep1"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else if (skillLevel.set1Rep <= 1)
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep2"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep3"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
break;
}
case 'B':
{
if (skillLevel.set2Rep <= 0)
{
if (!configStageType(globals.configPath, globals.configBackup, "Brep1"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else if (skillLevel.set2Rep <= 1)
{
if (!configStageType(globals.configPath, globals.configBackup, "Brep2"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else
{
if (!configStageType(globals.configPath, globals.configBackup, "Brep3"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
break;
}
case 'C':
{
if (skillLevel.set3Rep <= 0)
{
if (!configStageType(globals.configPath, globals.configBackup, "Crep1"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else if (skillLevel.set3Rep <= 1)
{
if (!configStageType(globals.configPath, globals.configBackup, "Crep2"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else
{
if (!configStageType(globals.configPath, globals.configBackup, "Crep3"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
break;
}
case 'D':
{
if (!configStageType(globals.configPath, globals.configBackup, "D"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
break;
}
case 'E':
{
// Ignore Speed Trial...
return 0.0;
}
case 'F':
{
if (!configStageType(globals.configPath, globals.configBackup, "F"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
break;
}
case 'G':
{
if (!configStageType(globals.configPath, globals.configBackup, "G"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
break;
}
case 'H':
{
if (!configStageType(globals.configPath, globals.configBackup, "H"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
break;
}
}
return globals.stageTime;
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:94,代码来源:LevelManager.cpp
示例14: setupDemoScene
void OgreApp::setupDemoScene()
{
bool isSynced = false;
globals.initPaths();
#if defined(NETWORKING)
#if defined(OGRE_IS_IOS)
isSynced = syncConfig();
#endif
#endif
seed = time(0);
srand(seed);
sessionOver = false;
Util::generateMaterials();
Util::createSphere(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "sphereMesh", 1.0, 8, 8);
Util::createCylinder(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "cylinderMesh", 1.0, 1.0, 8);
Util::createDiamond(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "diamondMesh", 1.0, 1.0);
Util::createBox(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "boxMesh", 1.0, 1.0, 1.0);
Util::createPlane(OgreFramework::getSingletonPtr()->m_pSceneMgrMain, "planeMesh", 1.0, 1.0);
Util::createDefaultSegments(OgreFramework::getSingletonPtr()->m_pSceneMgrMain);
origin = Vector3(0, 0, 0);
OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(Vector3(origin.x, origin.y, origin.z + globals.tunnelSegmentDepth / 2));
OgreFramework::getSingletonPtr()->m_pCameraMain->lookAt(origin);
globals.initPaths();
if (!configStageType(globals.configPath, globals.configBackup, "globalConfig"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
player = new Player(
globals.playerName,
OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition(),
OgreFramework::getSingletonPtr()->m_pCameraMain->getOrientation(),
globals.initCamSpeed,
globals.vineTOffset,
SPEED_CONTROL_AUTO,
seed,
"vinezors" + Util::toStringInt(seed) + ".csv");
player->addVine(new Vine(OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode(), player->getCamPos(), globals.vineRadius));
player->setSounds(true);
player->setRunningSpeed(globals.set1StartingSpeed, globals.set2StartingSpeed, globals.set3StartingSpeed, globals.trialStartingSpeed, globals.startingNav);
if (!player->loadProgress(globals.savePath))
std::cout << "WARNING: Save File could not be loaded correctly" << std::endl;
globals.initLogs(player->getSkillLevel().sessionID);
tunnel = NULL;
hud = new Hud();
// Determine length of time
globals.sessionTime = globals.sessionTimeMin;
if (player->getSkillLevel().sessionID >= 1)
globals.sessionTime += ((globals.sessionTimeMax - globals.sessionTimeMin) / globals.expectedNumSessions) * (player->getSkillLevel().sessionID - 1);
std::cout << "Session Length: " << globals.sessionTime << std::endl;
levelMgr = new LevelManager(player, globals.scheduleMain, globals.scheduleRepeat, globals.scheduleRepeatRandomPool);
setLevel(EVEN);
Light* lightMain = OgreFramework::getSingletonPtr()->m_pSceneMgrMain->createLight("Light");
lightMain->setDiffuseColour(1.0, 1.0, 1.0);
lightMain->setSpecularColour(1.0, 1.0, 1.0);
//lightMain->setAttenuation(3250, 1.0, 0.0014, 0.000007);
lightNodeMain = OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode()->createChildSceneNode("lightNode");
lightNodeMain->attachObject(lightMain);
lightNodeMain->setPosition(OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition());
if (!isSynced) {
globals.setMessage("ERROR: Could not connect for updates.\nPlease contact the RA", MESSAGE_ERROR);
}
#if defined(NETWORKING)
#if defined(OGRE_IS_IOS)
syncLogs();
#endif
#endif
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:80,代码来源:OgreApp.cpp
示例15: keyPressed
void EngineStage::keyPressed(const OIS::KeyEvent &keyEventRef)
{
switch (keyEventRef.key)
{
case OIS::KC_W:
{
player->setKeyUp(true);
break;
}
case OIS::KC_A:
{
player->setKeyLeft(true);
break;
}
case OIS::KC_S:
{
player->setKeyDown(true);
break;
}
case OIS::KC_D:
{
player->setKeyRight(true);
break;
}
case OIS::KC_SPACE:
{
player->setKeySpace(true);
break;
}
case OIS::KC_LEFT:
{
activatePerformLeftMove();
break;
}
case OIS::KC_RIGHT:
{
activatePerformRightMove();
break;
}
case OIS::KC_UP:
{
activatePerformSwipeUp();
break;
}
case OIS::KC_DOWN:
{
activatePerformSwipeDown();
break;
}
case OIS::KC_1:
{
if (tunnel && tunnel->isMultiCollectionTask())
{
player->setToggleBack(3);
tunnel->respondToToggleCheat();
}
break;
}
case OIS::KC_2:
{
if (tunnel && tunnel->isMultiCollectionTask())
{
player->setToggleBack(2);
tunnel->respondToToggleCheat();
}
break;
}
case OIS::KC_3:
{
if (tunnel && tunnel->isMultiCollectionTask())
{
player->setToggleBack(1);
tunnel->respondToToggleCheat();
}
break;
}
case OIS::KC_4:
{
if (tunnel && tunnel->isMultiCollectionTask())
{
// Bad hack but
// Don't show 3-Back for multi-collection tasks of 1 or less.
if (player->getLevelRequestRow() > 0)
player->setToggleBack(0);
tunnel->respondToToggleCheat();
}
break;
}
case OIS::KC_P:
{
if (stageState == STAGE_STATE_RUNNING)
{
setPause(true);
globals.appendMessage("\n\nPaused", MESSAGE_NORMAL);
stageState = STAGE_STATE_PAUSE;
}
else
{
setPause(false);
stageState = STAGE_STATE_RUNNING;
//.........这里部分代码省略.........
开发者ID:emfb760,项目名称:brain-game,代码行数:101,代码来源:EngineStage.cpp
示例16: getNextLevel
// This version follows a schedule specified when LevelManager was initialized
//
// Very big function...
// Hardcoded settings for five different area. Until the json files are implemented, this will
// be more modular. For now, it'll do.
Tunnel* LevelManager::getNextLevel(Tunnel* previousTunnel)
{
// Extract previous information as the previous tunnel still exists
Vector3 newOrigin = Vector3(0, 0, 0) + globals.tunnelReferenceForward * (globals.tunnelSegmentWidth / 2);
Quaternion newRot = Quaternion(1, 0, 0, 0);
Vector3 newForward = globals.tunnelReferenceForward;
int oldNBack = previousTunnel ? previousTunnel->getNBack() : 0;
GameMode oldGameMode = previousTunnel ? previousTunnel->getMode() : GAME_TIMED;
if (previousTunnel)
{
delete previousTunnel;
}
GameMode nmode = GAME_PROFICIENCY;
int nlevel = 0;
int ncontrol = 1;
if (!configStageType(globals.configPath, globals.configBackup, "globalConfig"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
PlayerLevel skillLevel = player->getSkillLevel(); // Updated in previous tunnel and referenced for new tunnel
nlevel = skillLevel.set1;
ncontrol = 1;
nmode = GAME_PROFICIENCY;
globals.initCamSpeed = skillLevel.runSpeed1;
globals.maxCamSpeed = skillLevel.maxSpeed;
if (skillLevel.set1Rep <= 0)
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep1"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else if (skillLevel.set1Rep <= 1)
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep2"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
else
{
if (!configStageType(globals.configPath, globals.configBackup, "Arep3"))
globals.setMessage("WARNING: Failed to read configuration", MESSAGE_ERROR);
}
globals.stageTotalTargets1 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
globals.stageTotalTargets2 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
globals.stageTotalTargets3 = globals.stageTotalSignals * (globals.podNBackChance / 100.0);
globals.signalTypes = std::vector<std::vector<PodInfo> >(4);
globals.signalTypes[POD_SIGNAL_1].push_back(PodInfo(POD_SIGNAL_1, POD_BASIC, POD_COLOR_BLUE, POD_SHAPE_SPHERE, POD_SOUND_1));
globals.signalTypes[POD_SIGNAL_2].push_back(PodInfo(POD_SIGNAL_2, POD_BASIC, POD_COLOR_GREEN, POD_SHAPE_SPHERE, POD_SOUND_2));
globals.signalTypes[POD_SIGNAL_3].push_back(PodInfo(POD_SIGNAL_3, POD_BASIC, POD_COLOR_PINK, POD_SHAPE_SPHERE, POD_SOUND_3));
globals.signalTypes[POD_SIGNAL_4].push_back(PodInfo(POD_SIGNAL_4, POD_BASIC, POD_COLOR_YELLOW, POD_SHAPE_SPHERE, POD_SOUND_4));
if (skillLevel.set1Notify)
globals.setBigMessage("Congratulations! You earned " + Util::toStringInt(nlevel) + "-Back!");
else
{
if (skillLevel.set1Rep >= 2)
globals.setBigMessage(Util::toStringInt(nlevel) + "-Back. Challenge Round!");
else
globals.setBigMessage(Util::toStringInt(nlevel) + "-Back");
}
globals.setMessage("Match by Color!", MESSAGE_NORMAL);
Tunnel* ret = new Tunnel(
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getRootSceneNode(),
newOrigin + newForward * (globals.tunnelSegmentWidth / 2),
newRot,
globals.tunnelSegmentWidth,
globals.tunnelSegmentDepth,
globals.tunnelMinAngleTurn,
globals.tunnelMaxAngleTurn,
getSchedNo(),
nmode,
getScheduleValue(),
nlevel,
ncontrol,
SOUTH,
globals.tunnelSegmentsPerSection,
globals.tunnelSegmentsPerPod,
globals.tunnelSegmentsPerDistractors,
globals.signalTypes);
return ret;
}
开发者ID:animekraxe,项目名称:brain-game,代码行数:92,代码来源:LevelManager.cpp
示例17: update
void EngineStage::update(float elapsed)
{
switch (stageState)
{
case STAGE_STATE_INIT:
{
setup();
setPause(true);
if (tunnel->getMode() != STAGE_MODE_RECESS || tunnel->getMode() != STAGE_MODE_TEACHING)
globals.appendMessage("\n\nSet Your Speed", MESSAGE_NORMAL);
stageState = STAGE_STATE_PAUSE;
hud->update(elapsed);
hud->setOverlay(0, true);
hud->setOverlay(1, false);
hud->setOverlay(2, false);
hud->setOverlay(3, false);
hud->notifyGoButton(false);
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
break;
}
case STAGE_STATE_RUNNING:
{
OgreFramework::getSingletonPtr()->m_pSoundMgr->update(elapsed);
#if defined(OGRE_IS_IOS)
// Update the game state
updateSpin(elapsed);
#endif
tunnel->update(elapsed);
if (tunnel->needsCleaning())
{
completeStage(EVEN);
stageState = STAGE_STATE_PROMPT;
setPause(true);
std::string finalScoreMessage = Util::toStringInt(player->getScore());
globals.appendMessage("\nScore " + finalScoreMessage + "\n\nPlay Again?", MESSAGE_NORMAL);
}
hud->update(elapsed);
hud->setOverlay(0, true);
hud->setOverlay(1, false);
hud->notifyGoButton(false);
// Graphical view changes from camera, light, and skybox
Quaternion camRot = player->getCombinedRotAndRoll();
OgreFramework::getSingletonPtr()->m_pCameraMain->setPosition(player->getCamPos());
OgreFramework::getSingletonPtr()->m_pCameraMain->setOrientation(camRot);
if (OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getSkyPlaneNode())
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->getSkyPlaneNode()->setOrientation(player->getCombinedRotAndRoll());
if (lightNode)
lightNode->setPosition(OgreFramework::getSingletonPtr()->m_pCameraMain->getPosition());
OgreFramework::getSingletonPtr()->m_pSceneMgrMain->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
// See by the end of this frame if we have a tutorial popup, if so pause the game, keep the music running
if (player->getTutorialMgr()->isVisible())
{
setPause(true, false);
globals.appendMessage("\n\nPaused", MESSAGE_NORMAL);
stageState = STAGE_STATE_PAUSE;
}
break;
}
case STAGE_STATE_PAUSE:
{
// Navigation Debug Keys
if (player->getKeyUp())
player->move(Vector3(player->getCamForward() * globals.initCamSpeed * elapsed));
if (player->getKeyDown())
player->move(Vector3(player->getCamForward() * -globals.initCamSpeed * elapsed));
if (pl
|
请发表评论