CvLeague::CanProposeEnactAnyChoice(ResolutionTypes, PlayerTypes)
- Defined in
- CvVotingClasses.cpp, line 2393
- Class
- CvLeague
- Hook name
CivHooks::CvLeague_CanProposeEnactAnyChoice
Hooks
static bool BeforeCvLeague_CanProposeEnactAnyChoice(CvLeague* self, ResolutionTypes eResolution, PlayerTypes eProposer, bool& result);static void AfterCvLeague_CanProposeEnactAnyChoice(CvLeague* self, ResolutionTypes eResolution, PlayerTypes eProposer, bool& result);static bool ReplaceCvLeague_CanProposeEnactAnyChoice(bool (*original)(CvLeague*, ResolutionTypes, PlayerTypes), CvLeague* self, ResolutionTypes eResolution, PlayerTypes eProposer);CivRegisterBefore<CivHooks::CvLeague_CanProposeEnactAnyChoice>(host, &BeforeCvLeague_CanProposeEnactAnyChoice);CivRegisterAfter<CivHooks::CvLeague_CanProposeEnactAnyChoice>(host, &AfterCvLeague_CanProposeEnactAnyChoice);CivRegisterReplace<CivHooks::CvLeague_CanProposeEnactAnyChoice>(host, &ReplaceCvLeague_CanProposeEnactAnyChoice);
Code
2393bool CvLeague::CanProposeEnactAnyChoice(ResolutionTypes eResolution, PlayerTypes eProposer)2394{2395 CvAssertMsg(eResolution >= 0, "Invalid resolution type. Please send Anton your save file and version.");2396 CvAssertMsg(eResolution < GC.getNumResolutionInfos(), "Resolution index out of bounds. Please send Anton your save file and version.");23972398 CvResolutionEntry* pInfo = GC.getResolutionInfo(eResolution);2399 CvAssertMsg(pInfo, "Resolution info is null. Please send Anton your save file and version.");2400 if (!pInfo) return false;24012402 std::vector<int> vValidChoices = GetChoicesForDecision(pInfo->GetProposerDecision(), eProposer);2403 if (vValidChoices.empty())2404 {2405 if (pInfo->GetProposerDecision() == RESOLUTION_DECISION_NONE)2406 {2407 if (CanProposeEnact(eResolution, eProposer, LeagueHelpers::CHOICE_NONE))2408 {2409 return true;2410 }2411 }2412 }2413 else2414 {2415 for (uint i = 0; i < vValidChoices.size(); i++)2416 {2417 if (CanProposeEnact(eResolution, eProposer, vValidChoices[i]))2418 {2419 return true;2420 }2421 }2422 }24232424 return false;2425}
Calls
- CvGlobals::getResolutionInfo(ResolutionTypes)
- CvLeague::CanProposeEnact(ResolutionTypes, PlayerTypes, int, CvString *)
- CvLeague::GetChoicesForDecision(ResolutionDecisionTypes, PlayerTypes)
- CvResolutionEntry::GetProposerDecision() const
std::vector::emptystd::vector::operator[]std::vector::size