CvLuaPlayer::lGetPlayerBuildingClassHappiness(lua_State *)
- Defined in
- Lua/CvLuaPlayer.cpp, line 10301
- Class
- CvLuaPlayer
- Hook name
CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness
Hooks
static bool BeforeCvLuaPlayer_lGetPlayerBuildingClassHappiness(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetPlayerBuildingClassHappiness(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetPlayerBuildingClassHappiness(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &BeforeCvLuaPlayer_lGetPlayerBuildingClassHappiness);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &AfterCvLuaPlayer_lGetPlayerBuildingClassHappiness);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &ReplaceCvLuaPlayer_lGetPlayerBuildingClassHappiness);
Code
10301int CvLuaPlayer::lGetPlayerBuildingClassHappiness(lua_State* L)10302{10303 const BuildingClassTypes eOtherBuildingClass = (BuildingClassTypes)luaL_checkint(L, 2);1030410305 CvPlayer* pkPlayer = GetInstance(L);10306 if(pkPlayer)10307 {10308 int iChange = 0;1030910310 for(int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)10311 {10312 BuildingClassTypes eParentBuildingClass = (BuildingClassTypes) iI;1031310314 CvBuildingClassInfo* pkBuildingClassInfo = GC.getBuildingClassInfo(eParentBuildingClass);10315 if(!pkBuildingClassInfo)10316 {10317 continue;10318 }10319 10320 BuildingTypes eParentBuilding = (BuildingTypes)pkPlayer->getCivilizationInfo().getCivilizationBuildings(eParentBuildingClass);10321 if (eParentBuilding != NO_BUILDING && pkPlayer->countNumBuildings(eParentBuilding) > 0)10322 {10323 CvBuildingEntry* pkParentBuilding = GC.getBuildingInfo(eParentBuilding);10324 if (pkParentBuilding)10325 {10326 iChange += pkParentBuilding->GetBuildingClassHappiness(eOtherBuildingClass);10327 }10328 }10329 }1033010331 lua_pushinteger(L, iChange);1033210333 return 1;10334 }1033510336 return 0;10337 10338}
Calls
- CvBuildingEntry::GetBuildingClassHappiness(int) const
- CvCivilizationInfo::getCivilizationBuildings(int) const
- CvGlobals::getBuildingClassInfo(BuildingClassTypes)
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getNumBuildingClassInfos()
CvLuaScopedInstance::GetInstance- CvPlayer::countNumBuildings(BuildingTypes) const
- CvPlayer::getCivilizationInfo() const
lua_pushintegerluaL_checkinteger