Exemple #1
0
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);
}