Bazaar developer reference

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

Called by