scriptobject.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // scriptobject.h
  2. // 
  3. // Copyright (C) 2006, Chris Laurel <claurel@shatters.net>
  4. //
  5. // Helper functions for Celestia's interface to Lua scripts.
  6. //
  7. // This program is free software; you can redistribute it and/or
  8. // modify it under the terms of the GNU General Public License
  9. // as published by the Free Software Foundation; either version 2
  10. // of the License, or (at your option) any later version.
  11. #ifndef _CELENGINE_SCRIPTOBJECT_H_
  12. #define _CELENGINE_SCRIPTOBJECT_H_
  13. #ifndef LUA_VER
  14. #define LUA_VER 0x050000
  15. #endif
  16. #if LUA_VER >= 0x050100
  17. #include "lua.hpp"
  18. #else
  19. extern "C" {
  20. #include "lua.h"
  21. #include "lualib.h"
  22. }
  23. #endif
  24. #include <string>
  25. #include <celengine/parser.h>
  26. void SetScriptedObjectContext(lua_State* l);
  27. lua_State* GetScriptedObjectContext();
  28. std::string GenerateScriptObjectName();
  29. void GetLuaTableEntry(lua_State* state,
  30.                       int tableIndex,
  31.                       const std::string& key);
  32. double SafeGetLuaNumber(lua_State* state,
  33.                         int tableIndex,
  34.                         const std::string& key,
  35.                         double defaultValue);
  36. void SetLuaVariables(lua_State* state, Hash* parameters);
  37. #endif // _CELENGINE_SCRIPTOBJECT_H_