CvLeague::StartSpecialSession(LeagueSpecialSessionTypes)
- Defined in
- CvVotingClasses.cpp, line 5364
- Class
- CvLeague
- Hook name
CivHooks::CvLeague_StartSpecialSession
Hooks
static bool BeforeCvLeague_StartSpecialSession(CvLeague* self, LeagueSpecialSessionTypes eSpecialSession);static void AfterCvLeague_StartSpecialSession(CvLeague* self, LeagueSpecialSessionTypes eSpecialSession);static void ReplaceCvLeague_StartSpecialSession(void (*original)(CvLeague*, LeagueSpecialSessionTypes), CvLeague* self, LeagueSpecialSessionTypes eSpecialSession);CivRegisterBefore<CivHooks::CvLeague_StartSpecialSession>(host, &BeforeCvLeague_StartSpecialSession);CivRegisterAfter<CivHooks::CvLeague_StartSpecialSession>(host, &AfterCvLeague_StartSpecialSession);CivRegisterReplace<CivHooks::CvLeague_StartSpecialSession>(host, &ReplaceCvLeague_StartSpecialSession);
Code
5364void CvLeague::StartSpecialSession(LeagueSpecialSessionTypes eSpecialSession)5365{5366 SetInSession(eSpecialSession);53675368 // Immediate Proposal5369 CvLeagueSpecialSessionEntry* pInfo = GC.getLeagueSpecialSessionInfo(eSpecialSession);5370 CvAssert(pInfo != NULL);5371 if (pInfo != NULL)5372 {5373 ResolutionTypes eProposal = pInfo->GetImmediateProposal();5374 CvAssert(eProposal != NO_RESOLUTION)5375 if (eProposal != NO_RESOLUTION)5376 {5377 // Put other proposals on hold5378 DoPutProposalsOnHold();53795380 // Add the immediate proposal5381 DoProposeEnact(eProposal, NO_PLAYER, LeagueHelpers::CHOICE_NONE);5382 }5383 }53845385 // Distribute Votes5386 AssignStartingVotes();53875388 CheckFinishSession();5389}
Calls
- CvGlobals::getLeagueSpecialSessionInfo(LeagueSpecialSessionTypes)
- CvLeague::AssignStartingVotes()
- CvLeague::CheckFinishSession()
- CvLeague::DoProposeEnact(ResolutionTypes, PlayerTypes, int)
- CvLeague::DoPutProposalsOnHold()
- CvLeague::SetInSession(LeagueSpecialSessionTypes)
- CvLeagueSpecialSessionEntry::GetImmediateProposal() const