Bazaar developer reference

CvLeague::GetResolutionDetails(ResolutionTypes, PlayerTypes, int, int)

Defined in
CvVotingClasses.cpp, line 4181
Class
CvLeague
Hook name
CivHooks::CvLeague_GetResolutionDetails

Hooks

static bool BeforeCvLeague_GetResolutionDetails(CvLeague* self, ResolutionTypes eResolution, PlayerTypes eObserver, int iResolutionID, int iProposerChoice, CvString& result);static void AfterCvLeague_GetResolutionDetails(CvLeague* self, ResolutionTypes eResolution, PlayerTypes eObserver, int iResolutionID, int iProposerChoice, CvString& result);static CvString ReplaceCvLeague_GetResolutionDetails(CvString (*original)(CvLeague*, ResolutionTypes, PlayerTypes, int, int), CvLeague* self, ResolutionTypes eResolution, PlayerTypes eObserver, int iResolutionID, int iProposerChoice);CivRegisterBefore<CivHooks::CvLeague_GetResolutionDetails>(host, &BeforeCvLeague_GetResolutionDetails);CivRegisterAfter<CivHooks::CvLeague_GetResolutionDetails>(host, &AfterCvLeague_GetResolutionDetails);CivRegisterReplace<CivHooks::CvLeague_GetResolutionDetails>(host, &ReplaceCvLeague_GetResolutionDetails);

Code

4181CvString CvLeague::GetResolutionDetails(ResolutionTypes eResolution, PlayerTypes eObserver, int iResolutionID, int iProposerChoice)4182{4183	CvString s = "";4184	4185	CvResolutionEntry* pInfo = GC.getResolutionInfo(eResolution);4186	CvAssertMsg(pInfo, "Resolution info not found when assembling details text. Please send Anton your save file and version.");4187	if (!pInfo)4188	{4189		CvAssert(false);4190		return "";4191	}41924193	// Resolution type info4194	s += Localization::Lookup(pInfo->GetHelp()).toUTF8();41954196	// Refers to an existing resolution4197	if (iResolutionID != -1)4198	{4199		CvString sDisabled = "";42004201		// Would vote to enact or repeal4202		if (IsProposed(iResolutionID, /*bRepeal*/false) || IsProposed(iResolutionID, /*bRepeal*/true))4203		{4204			s += GetResolutionVoteOpinionDetails(eResolution, eObserver, iResolutionID);4205		}4206		// It's on hold4207		else if (IsProposed(iResolutionID, /*bRepeal*/false, /*bCheckOnHold*/true) || IsProposed(iResolutionID, /*bRepeal*/true, /*bCheckOnHold*/true))4208		{			4209		}4210		// Would propose repeal4211		else if (CanProposeRepeal(iResolutionID, eObserver, &sDisabled))4212		{4213			s += GetResolutionProposeOpinionDetails(iResolutionID, eObserver);4214		}4215		else4216		{4217			s += sDisabled;4218		}4219	}4220	// A new resolution4221	else4222	{4223		// Check our choice4224		CvString sDisabled = "";4225		if (CanProposeEnact(eResolution, eObserver, iProposerChoice, &sDisabled))4226		{4227			s += GetResolutionProposeOpinionDetails(eResolution, eObserver, iProposerChoice);4228		}4229		else4230		{4231			s += sDisabled;4232		}42334234		// Additional tooltip if there are no valid choices4235		if (strcmp(sDisabled, "") == 0)4236		{4237			if (pInfo->GetProposerDecision() != RESOLUTION_DECISION_NONE && !CanProposeEnactAnyChoice(eResolution, eObserver))4238			{4239				s += "[NEWLINE][NEWLINE][COLOR_WARNING_TEXT]";4240				s += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_INVALID_RESOLUTION_NO_CHOICES").toUTF8();4241				s += "[ENDCOLOR]";4242			}4243		}4244	}42454246	return s;4247}

Calls

Called by