BattleLogMessage.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * api/netpacks/BattleLogMessage.cpp, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #include "StdInc.h"
  11. #include "BattleLogMessage.h"
  12. #include "../../LuaStack.h"
  13. #include "../Registry.h"
  14. VCMI_LIB_NAMESPACE_BEGIN
  15. namespace scripting
  16. {
  17. namespace api
  18. {
  19. namespace netpacks
  20. {
  21. VCMI_REGISTER_SCRIPT_API(BattleLogMessageProxy, "netpacks.BattleLogMessage");
  22. const std::vector<BattleLogMessageProxy::CustomRegType> BattleLogMessageProxy::REGISTER_CUSTOM =
  23. {
  24. {"new", &Wrapper::constructor, true},
  25. {"addText", &BattleLogMessageProxy::addText, false},
  26. {"toNetpackLight",&PackForClientProxy<BattleLogMessageProxy>::toNetpackLight, false}
  27. };
  28. int BattleLogMessageProxy::addText(lua_State * L)
  29. {
  30. LuaStack S(L);
  31. std::shared_ptr<BattleLogMessage> object;
  32. if(S.tryGet(1, object))
  33. {
  34. std::string text;
  35. if(S.tryGet(2, text))
  36. {
  37. if(object->lines.empty())
  38. object->lines.emplace_back();
  39. object->lines.back().appendRawString(text);
  40. }
  41. }
  42. return S.retVoid();
  43. }
  44. }
  45. }
  46. }
  47. VCMI_LIB_NAMESPACE_END