CvTeamTechs::SetHasTech(TechTypes, bool)
- Defined in
- CvTechClasses.cpp, line 1928
- Class
- CvTeamTechs
- Hook name
CivHooks::CvTeamTechs_SetHasTech- Lua events
GameEvents.TeamSetHasTech
Hooks
static bool BeforeCvTeamTechs_SetHasTech(CvTeamTechs* self, TechTypes eIndex, bool bNewValue);static void AfterCvTeamTechs_SetHasTech(CvTeamTechs* self, TechTypes eIndex, bool bNewValue);static void ReplaceCvTeamTechs_SetHasTech(void (*original)(CvTeamTechs*, TechTypes, bool), CvTeamTechs* self, TechTypes eIndex, bool bNewValue);CivRegisterBefore<CivHooks::CvTeamTechs_SetHasTech>(host, &BeforeCvTeamTechs_SetHasTech);CivRegisterAfter<CivHooks::CvTeamTechs_SetHasTech>(host, &AfterCvTeamTechs_SetHasTech);CivRegisterReplace<CivHooks::CvTeamTechs_SetHasTech>(host, &ReplaceCvTeamTechs_SetHasTech);
Code
1927/// Accessor: set whether team owns a tech1928void CvTeamTechs::SetHasTech(TechTypes eIndex, bool bNewValue)1929{1930 CvAssertMsg(eIndex >= 0, "eIndex is expected to be non-negative (invalid Index)");1931 CvAssertMsg(eIndex < GC.getNumTechInfos(), "eIndex is expected to be within maximum bounds (invalid Index)");19321933 if(m_pabHasTech[eIndex] != bNewValue)1934 {1935 m_pabHasTech[eIndex] = bNewValue;19361937 if(bNewValue)1938 SetLastTechAcquired(eIndex);19391940 ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();1941 if(pkScriptSystem)1942 {1943 CvLuaArgsHandle args;1944 args->Push(m_pTeam->GetID());1945 args->Push(eIndex);1946 args->Push(bNewValue);19471948 // Attempt to execute the game events.1949 // Will return false if there are no registered listeners.1950 bool bResult = false;1951 LuaSupport::CallHook(pkScriptSystem, "TeamSetHasTech", args.get(), bResult);1952 }1953 }1954}
Calls
- CvGlobals::getDLLIFace()
- CvLuaArgsHandle::CvLuaArgsHandle()
- CvLuaArgsHandle::get() const
- CvLuaArgsHandle::operator->() const
- CvTeam::GetID() const
- CvTeamTechs::SetLastTechAcquired(TechTypes)
ICvEngineScriptSystemArgs1::PushICvEngineScriptSystemArgs1::PushICvEngineUtility1::GetScriptSystem- LuaSupport::CallHook(ICvEngineScriptSystem1 *, const char *, ICvEngineScriptSystemArgs1 *, bool &)