lua_resource_package.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright (c) 2012-2015 Daniele Bartolini and individual contributors.
  3. * License: https://github.com/taylor001/crown/blob/master/LICENSE
  4. */
  5. #include "resource_package.h"
  6. #include "lua_stack.h"
  7. #include "lua_environment.h"
  8. namespace crown
  9. {
  10. static int resource_package_load(lua_State* L)
  11. {
  12. LuaStack stack(L);
  13. stack.get_resource_package(1)->load();
  14. return 0;
  15. }
  16. static int resource_package_unload(lua_State* L)
  17. {
  18. LuaStack stack(L);
  19. stack.get_resource_package(1)->unload();
  20. return 0;
  21. }
  22. static int resource_package_flush(lua_State* L)
  23. {
  24. LuaStack stack(L);
  25. stack.get_resource_package(1)->flush();
  26. return 0;
  27. }
  28. static int resource_package_has_loaded(lua_State* L)
  29. {
  30. LuaStack stack(L);
  31. stack.push_bool(stack.get_resource_package(1)->has_loaded());
  32. return 1;
  33. }
  34. static int resource_package_tostring(lua_State* L)
  35. {
  36. LuaStack stack(L);
  37. ResourcePackage* package = stack.get_resource_package(1);
  38. stack.push_fstring("ResourcePackage (%p)", package);
  39. return 1;
  40. }
  41. void load_resource_package(LuaEnvironment& env)
  42. {
  43. env.load_module_function("ResourcePackage", "load", resource_package_load);
  44. env.load_module_function("ResourcePackage", "unload", resource_package_unload);
  45. env.load_module_function("ResourcePackage", "flush", resource_package_flush);
  46. env.load_module_function("ResourcePackage", "has_loaded", resource_package_has_loaded);
  47. env.load_module_function("ResourcePackage", "__index", "ResourcePackage");
  48. env.load_module_function("ResourcePackage", "__tostring", resource_package_tostring);
  49. }
  50. } // namespace crown