Bazaar developer reference

CvLeague::GetMemberVoteOpinionDetails(PlayerTypes, PlayerTypes)

Defined in
CvVotingClasses.cpp, line 4571
Class
CvLeague
Hook name
CivHooks::CvLeague_GetMemberVoteOpinionDetails

Hooks

static bool BeforeCvLeague_GetMemberVoteOpinionDetails(CvLeague* self, PlayerTypes eMember, PlayerTypes eObserver, CvString& result);static void AfterCvLeague_GetMemberVoteOpinionDetails(CvLeague* self, PlayerTypes eMember, PlayerTypes eObserver, CvString& result);static CvString ReplaceCvLeague_GetMemberVoteOpinionDetails(CvString (*original)(CvLeague*, PlayerTypes, PlayerTypes), CvLeague* self, PlayerTypes eMember, PlayerTypes eObserver);CivRegisterBefore<CivHooks::CvLeague_GetMemberVoteOpinionDetails>(host, &BeforeCvLeague_GetMemberVoteOpinionDetails);CivRegisterAfter<CivHooks::CvLeague_GetMemberVoteOpinionDetails>(host, &AfterCvLeague_GetMemberVoteOpinionDetails);CivRegisterReplace<CivHooks::CvLeague_GetMemberVoteOpinionDetails>(host, &ReplaceCvLeague_GetMemberVoteOpinionDetails);

Code

4571CvString CvLeague::GetMemberVoteOpinionDetails(PlayerTypes eMember, PlayerTypes eObserver)4572{4573	if (!IsMember(eMember) || !IsMember(eObserver))4574	{4575		CvAssertMsg(false, "Attempting to get detail string for a player that is not a league member. Please send Anton your save file and version.");4576		return "";4577	}45784579	CvString s = "";4580	if (!GetEnactProposals().empty() || !GetRepealProposals().empty())4581	{4582		// Vote Leanings4583		if (eMember != eObserver)4584		{4585			s += Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_OPINIONS_VOTES").toUTF8();4586			for (EnactProposalList::iterator it = m_vEnactProposals.begin(); it != m_vEnactProposals.end(); ++it)4587			{4588				GET_PLAYER(eMember).GetLeagueAI()->EvaluateVoteForOtherPlayerKnowledge(this, eObserver, it, &s);4589			}4590			for (RepealProposalList::iterator it = m_vRepealProposals.begin(); it != m_vRepealProposals.end(); ++it)4591			{4592				GET_PLAYER(eMember).GetLeagueAI()->EvaluateVoteForOtherPlayerKnowledge(this, eObserver, it, &s);4593			}4594		}4595		4596		// Vote Commitments4597		if (GET_PLAYER(eMember).GetLeagueAI()->HasVoteCommitment())4598		{4599			for (EnactProposalList::iterator it = m_vEnactProposals.begin(); it != m_vEnactProposals.end(); ++it)4600			{4601				std::vector<int> vChoices = GetChoicesForDecision(it->GetVoterDecision()->GetType(), NO_PLAYER);4602				for (uint i = 0; i < vChoices.size(); i++)4603				{4604					int iNumVotes = 0;4605					if (eMember != eObserver)4606					{4607						iNumVotes += GET_PLAYER(eMember).GetLeagueAI()->GetVoteCommitment(eObserver, it->GetID(), vChoices[i], /*bEnact*/ true);4608					}4609					else4610					{4611						for (int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)4612						{4613							iNumVotes += GET_PLAYER(eMember).GetLeagueAI()->GetVoteCommitment((PlayerTypes)iPlayerLoop, it->GetID(), vChoices[i], /*bEnact*/ true);4614						}4615					}4616					if (iNumVotes > 0)4617					{4618						Localization::String sTemp = Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_OPINIONS_VOTE_COMMITMENT");4619						sTemp << it->GetProposalName() << LeagueHelpers::GetTextForChoice(it->GetVoterDecision()->GetType(), vChoices[i]) << iNumVotes;4620						s += sTemp.toUTF8();4621					}4622				}4623			}4624			for (RepealProposalList::iterator it = m_vRepealProposals.begin(); it != m_vRepealProposals.end(); ++it)4625			{4626				std::vector<int> vChoices = GetChoicesForDecision(it->GetRepealDecision()->GetType(), NO_PLAYER);4627				for (uint i = 0; i < vChoices.size(); i++)4628				{4629					int iNumVotes = 0;4630					if (eMember != eObserver)4631					{4632						iNumVotes += GET_PLAYER(eMember).GetLeagueAI()->GetVoteCommitment(eObserver, it->GetID(), vChoices[i], /*bEnact*/ false);4633					}4634					else4635					{4636						for (int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)4637						{4638							iNumVotes += GET_PLAYER(eMember).GetLeagueAI()->GetVoteCommitment((PlayerTypes)iPlayerLoop, it->GetID(), vChoices[i], /*bEnact*/ false);4639						}4640					}4641					if (iNumVotes > 0)4642					{4643						Localization::String sTemp = Localization::Lookup("TXT_KEY_LEAGUE_OVERVIEW_MEMBER_OPINIONS_VOTE_COMMITMENT");4644						sTemp << it->GetProposalName() << LeagueHelpers::GetTextForChoice(it->GetRepealDecision()->GetType(), vChoices[i]) << iNumVotes;4645						s += sTemp.toUTF8();4646					}4647				}4648			}4649		}4650	}46514652	return s;4653}

Calls

Called by