Files
mir_server/Gateway/srvlib/include/luabase/base_script.h

61 lines
1.7 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef _ROBOT_SCRIPT_H_
#define _ROBOT_SCRIPT_H_
class BaseScript :
public BaseLua
{
public:
typedef BaseLua Inherited;
typedef misc::RefObject<LuaPreProcessor::LineRangeList> SourceLineList;
//<2F>ű<EFBFBD><C5B1><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static const char* ScriptInitFnName;
//<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static const char* ScriptUninitFnName;
//<2F><><EFBFBD>ű<EFBFBD><C5B1>б<EFBFBD><D0B1><EFBFBD><EFBFBD>˽ű<CBBD><C5B1><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static const char* ScriptInstanceKeyName;
public:
BaseScript();
~BaseScript();
/* <20><><EFBFBD>ýű<C3BD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD>false<73><65>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýű<EFBFBD>ʧ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false<EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>б<EFBFBD><EFBFBD>д1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ֵ
* args <EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
* results <EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>б<EFBFBD>
* nResultCount <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LUA_MULTRET<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
virtual bool Call(const char* fn, ScriptValueList *args, ScriptValueList *results, int ret_count = LUA_MULTRET);
bool LoadScript(const char* fn);
void SetVspDef(CVSPDefinition* vsp);
/*
* Comments: <EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӶԴ<EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD>м<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>
* Param const char* sText:
* Param const CSourceLineList * pLRList:
* @Return bool:
*/
bool setScript(const char* sText, SourceLineList* pLRList);
protected:
//<2F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>
static int ScriptCallErrorDispatcher(lua_State *L);
virtual void ScriptCallError(const char* sFnName);
virtual int HandleCallError();
virtual lua_State* createLuaVM();
virtual bool openBaseLibs();
virtual bool registLocalLibs();
virtual bool callInit();
virtual bool onCallInit();
virtual bool callFinal();
virtual bool onCallFinal();
virtual void showError(const char* err);
virtual void onCallEnd(bool ret);
protected:
SourceLineList src_; //ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȷ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
CVSPDefinition* vsp_;
};
#endif