Hooks
static bool BeforeCvGame_DoFromUIDiploEvent(CvGame* self, FromUIDiploEventTypes eEvent, PlayerTypes eAIPlayer, int iArg1, int iArg2);static void AfterCvGame_DoFromUIDiploEvent(CvGame* self, FromUIDiploEventTypes eEvent, PlayerTypes eAIPlayer, int iArg1, int iArg2);static void ReplaceCvGame_DoFromUIDiploEvent(void (*original)(CvGame*, FromUIDiploEventTypes, PlayerTypes, int, int), CvGame* self, FromUIDiploEventTypes eEvent, PlayerTypes eAIPlayer, int iArg1, int iArg2);CivRegisterBefore<CivHooks::CvGame_DoFromUIDiploEvent>(host, &BeforeCvGame_DoFromUIDiploEvent);CivRegisterAfter<CivHooks::CvGame_DoFromUIDiploEvent>(host, &AfterCvGame_DoFromUIDiploEvent);CivRegisterReplace<CivHooks::CvGame_DoFromUIDiploEvent>(host, &ReplaceCvGame_DoFromUIDiploEvent);
Code
5115/// Message from UI to gameplay about something that should happen with regards to diplomacy5116void CvGame::DoFromUIDiploEvent(FromUIDiploEventTypes eEvent, PlayerTypes eAIPlayer, int iArg1, int iArg2)5117{5118#if defined(MOD_EVENTS_DIPLO_EVENTS)5119 if (MOD_EVENTS_DIPLO_EVENTS) {5120 GAMEEVENTINVOKE_HOOK(GAMEEVENT_UiDiploEvent, eEvent, eAIPlayer, iArg1, iArg2);5121 } else {5122#endif5123 ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();5124 if(pkScriptSystem)5125 {5126 CvLuaArgsHandle args;5127 args->Push(eEvent);5128 args->Push(eAIPlayer);5129 args->Push(iArg1);5130 args->Push(iArg2);51315132 bool bResult;5133 LuaSupport::CallHook(pkScriptSystem, "UiDiploEvent", args.get(), bResult);5134 }5135#if defined(MOD_EVENTS_DIPLO_EVENTS)5136 }5137#endif51385139 gDLL->sendFromUIDiploEvent(eAIPlayer, eEvent, iArg1, iArg2);5140}