void World::buildScene(const Controller& controller) { // Initialize the different scene graph layers for(std::size_t i = 0; i < SceneNode::Layers::Num; i++) { SceneNode::upScNode layer(new SceneNode()); mSceneLayers.at(i) = layer.get(); mSceneGraph.addChild(std::move(layer)); } sf::Vector2f bckgrndSpritePos(mWorldBounds.width / 2.f , mWorldBounds.height / 2.f); std::unique_ptr<SpriteNode> backgroundSprite(new SpriteNode(controller.getTexture(Controller::Textures::GameBackground) , bckgrndSpritePos , true)); mBackground = backgroundSprite.get(); mSceneLayers.at(SceneNode::Layers::Background)->addChild(std::move(backgroundSprite)); mLevel.generateLevel(mSceneLayers, controller); generateAgents(controller); }
void OnBoardSimEngine::Initialize() { PLACE_METHOD_TRACK_STRING(); //------------------------------------------------------------------------------- // for debug purpose. if(false) carrierSpaceDiagnosis()->enableDiagnosis(); simEngineInchingSwitch _config; #ifdef _DEBUG _config.loadConfig("D:\\OnBoardSimEngine\\InchingSwitch.cfg"); #endif simEngineConfig()->setOnBoardModeTileWidth( _config.mTileWidth ); simEngineConfig()->setOnBoardModeTileHeight( _config.mTileHeight ); simEngineConfig()->setTravelsalDirectlyCost(_config.mTravelsalDirectlyCost); simEngineConfig()->setTravelsalDiagonalCost(_config.mTravelsalDiagonalCost); simEngineConfig()->setUseLockInTile( _config.mTileLockIn); simEngineConfig()->setUseExtendBarrier(_config.mUseExtendBarrier); // register need diagnosed mobile agents(which is moving in carrier space). // nTargetID load from file. //carrierSpaceDiagnosis()->registerDiagnosisAgent(nTargetID); //------------------------------------------------------------------------------- // load configuration data. m_pSimEngineConfig->loadConfig(m_nProjID, m_pEngine->getTerminal(), m_strProjPath ); //------------------------------------------------------------------------------- // init service objects in OnBoard simEngine. seatAssignService()->initAssignmentRules(); broadcastService()->Initialize(); //------------------------------------------------------------------------------- // generate onBoard Mode mobile agents long pax = generateAgents(); }
AgentDatabase::AgentDatabase(PlayerList* players, int defEncryptSeconds, int defTapSeconds) { //Define a new key generator. keygen = new KeyGen(); //Start with 0 agents. This will get adjusted by generateAgents. activeAgents = 0; //Save the defaults. defaultEncryptSeconds = defEncryptSeconds; defaultTapSeconds = defTapSeconds; //Generate the agents. (NOTE: This uses the above defaults.) generateAgents(players); /*The spycatcher is 0 by default, meaning the infiltrator is not yet caught.*/ spycatcher = 0; //Set the last check to right now. time(&lastCheck); }