61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
|
|
#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
|
|||
|
|
|