1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00
Files
.github
AI
CI
Mods
android
client
cmake_modules
config
debian
docs
include
ios
launcher
lib
lib_server
mapeditor
osx
rpm
scripting
erm
lua
api
battle
events
netpacks
BattleLogMessage.cpp
BattleLogMessage.h
BattleStackMoved.cpp
BattleStackMoved.h
BattleUnitsChanged.cpp
BattleUnitsChanged.h
EntitiesChanged.cpp
EntitiesChanged.h
InfoWindow.cpp
InfoWindow.h
PackForClient.h
SetResources.cpp
SetResources.h
Artifact.cpp
Artifact.h
BattleCb.cpp
BattleCb.h
BonusSystem.cpp
BonusSystem.h
Creature.cpp
Creature.h
Faction.cpp
Faction.h
GameCb.cpp
GameCb.h
HeroClass.cpp
HeroClass.h
HeroInstance.cpp
HeroInstance.h
HeroType.cpp
HeroType.h
ObjectInstance.cpp
ObjectInstance.h
Player.cpp
Player.h
Registry.cpp
Registry.h
ServerCb.cpp
ServerCb.h
Services.cpp
Services.h
Skill.cpp
Skill.h
Spell.cpp
Spell.h
StackInstance.cpp
StackInstance.h
CMakeLists.txt
Lua.cbp
LuaCallWrapper.h
LuaFunctor.h
LuaReference.cpp
LuaReference.h
LuaScriptModule.cpp
LuaScriptModule.h
LuaScriptingContext.cpp
LuaScriptingContext.h
LuaSpellEffect.cpp
LuaSpellEffect.h
LuaStack.cpp
LuaStack.h
LuaWrapper.h
StdInc.cpp
StdInc.h
scripts
server
test
win
.gitignore
.gitmodules
.travis.yml
AUTHORS
CCallback.cpp
CCallback.h
CMakeLists.txt
CMakePresets.json
ChangeLog.md
Global.h
README.md
VCMI_VS15.sln
VCMI_global.props
VCMI_global_debug.props
VCMI_global_release.props
VCMI_global_user.props
Version.cpp.in
Version.h
conanfile.py
fuzzylite.pc.in
license.txt
vcmi.workspace
vcmibuilder
vcmimanual.tex
vcmi/scripting/lua/api/netpacks/EntitiesChanged.cpp

68 lines
1.3 KiB
C++
Raw Normal View History

/*
* api/netpacks/EntitiesChanged.cpp, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#include "StdInc.h"
#include "EntitiesChanged.h"
#include "../../LuaStack.h"
#include "../Registry.h"
2022-08-15 14:38:17 +03:00
VCMI_LIB_NAMESPACE_BEGIN
namespace scripting
{
namespace api
{
namespace netpacks
{
VCMI_REGISTER_SCRIPT_API(EntitiesChangedProxy, "netpacks.EntitiesChanged");
const std::vector<EntitiesChangedProxy::CustomRegType> EntitiesChangedProxy::REGISTER_CUSTOM =
{
2021-02-16 17:07:30 +03:00
{"new", &Wrapper::constructor, true},
{"update", &EntitiesChangedProxy::update, false},
{"toNetpackLight", &PackForClientProxy<EntitiesChangedProxy>::toNetpackLight, false}
};
2021-02-16 17:07:30 +03:00
int EntitiesChangedProxy::update(lua_State * L)
{
LuaStack S(L);
2021-02-16 17:07:30 +03:00
std::shared_ptr<EntitiesChanged> object;
if(!S.tryGet(1, object))
return S.retVoid();
EntityChanges changes;
int32_t metaIndex = 0;
2021-02-16 17:07:30 +03:00
if(!S.tryGet(2, metaIndex))
return S.retVoid();
changes.metatype = static_cast<Metatype>(metaIndex);
2021-02-16 17:07:30 +03:00
if(!S.tryGet(3, changes.entityIndex))
return S.retVoid();
2021-02-16 17:07:30 +03:00
if(!S.tryGet(4, changes.data))
return S.retVoid();
object->changes.push_back(changes);
return S.retVoid();
}
}
}
}
2022-08-15 14:38:17 +03:00
VCMI_LIB_NAMESPACE_END