本文整理汇总了C++中CDate::setSec方法的典型用法代码示例。如果您正苦于以下问题:C++ CDate::setSec方法的具体用法?C++ CDate::setSec怎么用?C++ CDate::setSec使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDate
的用法示例。
在下文中一共展示了CDate::setSec方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: endDayEventHandler
void CTimeManager::endDayEventHandler(const IGameEvent &event)
{
// Only one "NoMoreEventsToday" event is on the events queue at time,
// so we need to add a new event of this type for tomorrow
CDate date = event.getDate();
date.setDay(date.getDay()+1);
date.setHour(23);
date.setMin(59);
date.setSec(59);
CGameEngine::getInstance()->getEventManager()->addEvent(new CEndDayEvent(date));
}
示例2: load
IGame* CSinglePlayerGame::load(const CPfGames &game)
{
LOG_DEBUG("CSinglePlayerGame::load");
CSinglePlayerGame *singlePlayerGame = new CSinglePlayerGame(game);
singlePlayerGame->loadGameEvents();
CDate date = singlePlayerGame->m_optionManager->getGameCurrentDate();
CGameEngine::getInstance()->getTimeManager()->setCurrentTime(date);
date.setHour(23);
date.setMin(59);
date.setSec(59);
CGameEngine::getInstance()->getEventManager()->addEvent(new CEndDayEvent(date));
return singlePlayerGame;
}
示例3: generateSeason
void CSeasonGenerator::generateSeason(CSinglePlayerGame &game)
{
CEventManager *eventMngr = CGameEngine::getInstance()->getEventManager();
IDAOFactory *daoFactory = game.getIDAOFactory();
IPfSeasonsDAO *seasonsDAO = daoFactory->getIPfSeasonsDAO();
IPfCompetitionsBySeasonDAO *competitionsBySeasonDAO = daoFactory->getIPfCompetitionsBySeasonDAO();
IPfTeamsDAO *teamsDAO = daoFactory->getIPfTeamsDAO();
IPfTeamsByCompetitionsDAO *teamsByCompetitionsDAO = daoFactory->getIPfTeamsByCompetitionsDAO();
CPfSeasons *season = seasonsDAO->findLastSeason();
if( season==NULL || season->getXSeason_str()=="" ){
throw PFEXCEPTION("[CSeasonGenerator::generateSeason] Last season was not found, new season generation is aborted.");
}
int year = season->getNYear()+1;
std::ostringstream sseason;
sseason << year << "/" << (year+1);
// the min & max date necesary for the season events
CDate minDate = CDate::MAX_DATE;
CDate maxDate = CDate::MIN_DATE;
// create the new season
CPfSeasons newSeason;
newSeason.setNYear(year);
newSeason.setSSeason(sseason.str());
daoFactory->getIPfSeasonsDAO()->insertReg(&newSeason);
// retrieve the competitions associated with the last season
std::vector<CPfCompetitionsBySeason*> *competitionsBySeasonList = competitionsBySeasonDAO->findByXFkSeason(season->getXSeason_str());
// for each competition, create a new competition by season and insert the relevant matches
std::vector<CPfCompetitionsBySeason*>::iterator itCompetitionsBySeason;
for( itCompetitionsBySeason=competitionsBySeasonList->begin(); itCompetitionsBySeason!=competitionsBySeasonList->end(); itCompetitionsBySeason++ ){
CPfCompetitionsBySeason *competitionBySeason = *itCompetitionsBySeason;
// create the new competition by season
CPfCompetitionsBySeason *newCompetitionBySeason = new CPfCompetitionsBySeason();
newCompetitionBySeason->setDBeginCompetition(getSameWeekDayOneYearLater(competitionBySeason->getDBeginCompetition()));
newCompetitionBySeason->setDEndCompetition(getSameWeekDayOneYearLater(competitionBySeason->getDEndCompetition()));
newCompetitionBySeason->setXFkCompetition_str(competitionBySeason->getXFkCompetition_str());
newCompetitionBySeason->setXFkSeason_str(newSeason.getXSeason_str());
competitionsBySeasonDAO->insertReg(newCompetitionBySeason);
// retrieve the teams registered in previous season on the same competition
std::vector<CPfTeams*> *teamsList = teamsDAO->findByXFKCompetitionAndXFKSeason(competitionBySeason->getXFkCompetition_str(), competitionBySeason->getXFkSeason_str());
std::vector<CPfTeams*>::iterator itTeams;
for( itTeams=teamsList->begin(); itTeams!=teamsList->end(); itTeams++ ){
CPfTeams *team = *itTeams;
// the team will be associate with the competition for the new season
CPfTeamsByCompetitions *newTeamByCompetition = new CPfTeamsByCompetitions();
newTeamByCompetition->setXFkCompetitionBySeason_str(newCompetitionBySeason->getXCompetitionBySeason_str());
newTeamByCompetition->setXFkTeam_str(team->getXTeam_str());
teamsByCompetitionsDAO->insertReg(newTeamByCompetition);
delete newTeamByCompetition;
}
eventMngr->addEvent(new CStartCompetitionEvent(newCompetitionBySeason->getDBeginCompetition()));
//Shuffle teams to create random calendar
std::random_shuffle(teamsList->begin(), teamsList->end());
generateLeagueMatches(game, *newCompetitionBySeason, teamsList); // TODO: Maybe not all competitions are leagues
eventMngr->addEvent(new CEndCompetitionEvent(newCompetitionBySeason->getDEndCompetition()));
// Retrieve the min & max date for the season events
if( newCompetitionBySeason->getDBeginCompetition()<minDate ){
minDate = newCompetitionBySeason->getDBeginCompetition();
}
if( newCompetitionBySeason->getDEndCompetition()>maxDate ){
maxDate = newCompetitionBySeason->getDEndCompetition();
}
teamsDAO->freeVector(teamsList);
delete newCompetitionBySeason;
}
minDate.setSec(minDate.getSec()-1);
maxDate.setSec(maxDate.getSec()+1);
// enqueue the start & end season events
eventMngr->addEvent(new CStartSeasonEvent(minDate));
eventMngr->addEvent(new CEndSeasonEvent(maxDate));
game.getOptionManager()->setGameCurrentSeason(newSeason.getXSeason());
competitionsBySeasonDAO->freeVector(competitionsBySeasonList);
delete season;
}
示例4: loadGameEvents
void CSinglePlayerGame::loadGameEvents()
{
int xSeason = m_optionManager->getGameCurrentSeason();
CEventManager *eventMngr = CGameEngine::getInstance()->getEventManager();
IPfCompetitionPhasesBySeasonDAO *competitionPhasesBySeasonDAO = m_daoFactory->getIPfCompetitionPhasesBySeasonDAO();
IPfCompetitionPhasesDAO *competitionPhasesDAO = m_daoFactory->getIPfCompetitionPhasesDAO();
IPfMatchesDAO *matchesDAO = m_daoFactory->getIPfMatchesDAO();
// the min & max date necesary for the season events
CDate minDate = CDate::MAX_DATE;
CDate maxDate = CDate::MIN_DATE;
// retrieve the competitions for the current season
std::vector<CPfCompetitionPhasesBySeason*> *competitionPhasesBySeasonList = competitionPhasesBySeasonDAO->findByXFkSeason(xSeason);
std::vector<CPfCompetitionPhasesBySeason*>::iterator itCompetitionPhasesBySeason;
bool someCompetitionStarted = false;
for( itCompetitionPhasesBySeason=competitionPhasesBySeasonList->begin(); itCompetitionPhasesBySeason!=competitionPhasesBySeasonList->end(); itCompetitionPhasesBySeason++ ){
CPfCompetitionPhasesBySeason *competitionPhaseBySeason = *itCompetitionPhasesBySeason;
CPfCompetitionPhases *competitionPhase = competitionPhasesDAO->findByXCompetitionPhase(competitionPhaseBySeason->getXFkCompetitionPhase_str());
// for each competition are retrieved the respective matches
std::vector<CPfMatches*> *matchesList = matchesDAO->findByXFkCompetitionAndXFkSeason(competitionPhase->getXFkCompetition_str(), competitionPhaseBySeason->getXFkSeason_str());
std::vector<CPfMatches*>::iterator itMatches;
bool someMatchPlayed = false;
for( itMatches=matchesList->begin(); itMatches!=matchesList->end(); itMatches++ ){
CPfMatches *match = *itMatches;
if( match->getLPlayed() ){
someMatchPlayed = true;
someCompetitionStarted = true;
}else{
eventMngr->addEvent(new CMatchEvent(match->getDMatch(), match->getXMatch()));
}
}
if( !someMatchPlayed ){
eventMngr->addEvent(new CStartCompetitionEvent(competitionPhaseBySeason->getDBeginCompetitionPhase()));
}
eventMngr->addEvent(new CEndCompetitionEvent(competitionPhaseBySeason->getDEndCompetitionPhase()));
// Retrieve the min & max date for the season events
if( competitionPhaseBySeason->getDBeginCompetitionPhase()<minDate ){
minDate = competitionPhaseBySeason->getDBeginCompetitionPhase();
}
if( competitionPhaseBySeason->getDEndCompetitionPhase()>maxDate ){
maxDate = competitionPhaseBySeason->getDEndCompetitionPhase();
}
matchesDAO->freeVector(matchesList);
}
minDate.setSec(minDate.getSec()-1);
maxDate.setSec(maxDate.getSec()+1);
// enqueue the start & end season events
if( !someCompetitionStarted ){
eventMngr->addEvent(new CStartSeasonEvent(minDate));
}
eventMngr->addEvent(new CEndSeasonEvent(maxDate));
competitionPhasesBySeasonDAO->freeVector(competitionPhasesBySeasonList);
}
示例5: newGame
IGame* CSinglePlayerGame::newGame(const CPfUsers &user, const std::string &gameName, const std::string &coachName)
{
LOG_DEBUG("CSinglePlayerGame::newGame");
CDate nowDate;
CPfGames game;
game.setDLastSaved(nowDate);
game.setSDriverName("SQLite");
game.setSConnectionString(CResourceManager::getInstance()->getDbFileName());
game.setSGameName(gameName);
game.setSGameType(S_GAME_TYPE_SINGLEPLAYER);
game.setXFkUser(user.getXUser());
// With this way, here we only need to set the initial environment for
// a new game, forgetting the creation of attributes for a CSinglePlayerGame
// object. This task rests now on constructor.
CSinglePlayerGame *singlePlayerGame = new CSinglePlayerGame(game);
// retrieve the last season in the database and the end date of the itself
CDate maxDate = CDate::MIN_DATE;
CPfSeasons *season = singlePlayerGame->m_daoFactory->getIPfSeasonsDAO()->findLastSeason();
if( season->getXSeason() == 0 ){
throw PFEXCEPTION("The last season is NULL");
}
IPfCompetitionPhasesBySeasonDAO *competitionBySeasonDAO = singlePlayerGame->m_daoFactory->getIPfCompetitionPhasesBySeasonDAO();
std::vector<CPfCompetitionPhasesBySeason*> *competitionsBySeasonList = competitionBySeasonDAO->findByXFkSeason(season->getXSeason_str());
std::vector<CPfCompetitionPhasesBySeason*>::iterator itCompetitionsBySeason;
for( itCompetitionsBySeason=competitionsBySeasonList->begin(); itCompetitionsBySeason!=competitionsBySeasonList->end(); itCompetitionsBySeason++ ){
CPfCompetitionPhasesBySeason *competitionBySeason = *itCompetitionsBySeason;
if( competitionBySeason->getDEndCompetitionPhase()>maxDate ){
maxDate = competitionBySeason->getDEndCompetitionPhase();
}
}
singlePlayerGame->m_optionManager->setGameNew(true);
singlePlayerGame->m_optionManager->setGameCurrentDate(maxDate);
singlePlayerGame->m_optionManager->setGameCurrentSeason(season->getXSeason());
// Create player's coach
// TODO: create coach in another way. Maybe player settings?
CPfCoaches *playerCoach = new CPfCoaches();
playerCoach->setSName(coachName);
playerCoach->setSShortName(coachName);
playerCoach->setSPhoto("p_unknown");
playerCoach->setXFkFormationSelected(1);
playerCoach->setXFkCountry(1);
singlePlayerGame->m_daoFactory->getIPfCoachesDAO()->insertReg(playerCoach);
singlePlayerGame->m_optionManager->setGamePlayerCoach(playerCoach->getXCoach());
delete playerCoach;
competitionBySeasonDAO->freeVector(competitionsBySeasonList);
delete season;
singlePlayerGame->loadGameEvents();
CDate date = singlePlayerGame->m_optionManager->getGameCurrentDate();
CGameEngine::getInstance()->getTimeManager()->setCurrentTime(date);
date.setHour(23);
date.setMin(59);
date.setSec(59);
CGameEngine::getInstance()->getEventManager()->addEvent(new CEndDayEvent(date));
return singlePlayerGame;
}