CvLeagueAI::EvaluateVoteForTrade(int, int, int, bool)
- Defined in
- CvVotingClasses.cpp, line 7957
- Class
- CvLeagueAI
- Hook name
CivHooks::CvLeagueAI_EvaluateVoteForTrade
Hooks
static bool BeforeCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal, CvLeagueAI::DesireLevels& result);static void AfterCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal, CvLeagueAI::DesireLevels& result);static CvLeagueAI::DesireLevels ReplaceCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI::DesireLevels (*original)(CvLeagueAI*, int, int, int, bool), CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal);CivRegisterBefore<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &BeforeCvLeagueAI_EvaluateVoteForTrade);CivRegisterAfter<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &AfterCvLeagueAI_EvaluateVoteForTrade);CivRegisterReplace<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &ReplaceCvLeagueAI_EvaluateVoteForTrade);
Code
7956// How much do we like this vote commitment (either from us to someone else, or from someone else to us)?7957CvLeagueAI::DesireLevels CvLeagueAI::EvaluateVoteForTrade(int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal)7958{7959 DEBUG_VARIABLE(iNumVotes);7960 DesireLevels eValue = DESIRE_NEVER;7961 7962 if (GC.getGame().GetGameLeagues()->GetNumActiveLeagues() > 0)7963 {7964 CvLeague* pLeague = GC.getGame().GetGameLeagues()->GetActiveLeague();7965 CvAssert(pLeague != NULL);7966 if (pLeague != NULL)7967 {7968 CvAssert(iNumVotes == pLeague->GetCoreVotesForMember(GetPlayer()->GetID()));7969 if (pLeague->IsProposed(iResolutionID, bRepeal))7970 {7971 // Vote to repeal7972 if (bRepeal)7973 {7974 RepealProposalList vProposals = pLeague->GetRepealProposals();7975 for (RepealProposalList::iterator it = vProposals.begin(); it != vProposals.end(); ++it)7976 {7977 if (it->GetID() == iResolutionID)7978 {7979 eValue = EvaluateDesire(ScoreVoteChoice(it, iVoteChoice));7980 break;7981 }7982 }7983 }7984 // Vote to enact7985 else7986 {7987 EnactProposalList vProposals = pLeague->GetEnactProposals();7988 for (EnactProposalList::iterator it = vProposals.begin(); it != vProposals.end(); ++it)7989 {7990 if (it->GetID() == iResolutionID)7991 {7992 eValue = EvaluateDesire(ScoreVoteChoice(it, iVoteChoice));7993 break;7994 }7995 }7996 }7997 }7998 }7999 }80008001 return eValue;8002}
Calls
BaseVector::beginBaseVector::beginBaseVector::endBaseVector::end- CvGame::GetGameLeagues()
- CvGameLeagues::GetActiveLeague()
- CvGameLeagues::GetNumActiveLeagues()
- CvGlobals::getGame()
- CvLeague::GetEnactProposals() const
- CvLeague::GetRepealProposals() const
- CvLeague::IsProposed(int, bool, bool)
- CvLeagueAI::EvaluateDesire(int)
- CvLeagueAI::ScoreVoteChoice(CvEnactProposal *, int)
- CvLeagueAI::ScoreVoteChoice(CvRepealProposal *, int)
- CvResolution::GetID() const