]> git.r.bdr.sh - rbdr/pico-engine/blame - LuaScript.h
Update project so it compiles
[rbdr/pico-engine] / LuaScript.h
CommitLineData
10a0e290
BB
1// ---------------------------------------------------------------------------\r
2// FILE NAME : LuaScript.h\r
3// ---------------------------------------------------------------------------\r
4// DESCRIPTION :\r
5//\r
6// Scripting base class\r
7// \r
8// ---------------------------------------------------------------------------\r
9// VERSION : 1.00\r
10// DATE : 1-Sep-2005\r
11// AUTHOR : Richard Shephard\r
12// ---------------------------------------------------------------------------\r
13// LIBRARY INCLUDE FILES\r
14\r
15#ifndef __LUA_SCRIPT_BASE_H__\r
16#define __LUA_SCRIPT_BASE_H__\r
17\r
18#include "luainc.h"\r
f631762a 19#include "LuaVirtualMachine.h"\r
10a0e290
BB
20\r
21class CLuaScript\r
22{\r
23public:\r
24 CLuaScript (CLuaVirtualMachine& vm);\r
25 virtual ~CLuaScript (void);\r
26\r
27 // Compile script into Virtual Machine\r
28 bool CompileFile (const char *strFilename);\r
29 bool CompileBuffer (unsigned char *pbBuffer, size_t szLen);\r
30\r
31 // Register function with Lua\r
32 int RegisterFunction (const char *strFuncName);\r
33\r
34 // Selects a Lua Script function to call\r
35 bool SelectScriptFunction (const char *strFuncName);\r
36 void AddParam (int iInt);\r
37 void AddParam (float fFloat);\r
38 void AddParam (char *string);\r
39\r
40 // Runs the loaded script\r
41 bool Go (int nReturns = 0);\r
42\r
43 // Checks on Virtual Machine script\r
44 bool ScriptHasFunction (const char *strScriptName);\r
45\r
46 // Method indexing check\r
47 int methods (void) { return m_nMethods; }\r
48 \r
49\r
50 // When the script calls a class method, this is called\r
51 virtual int ScriptCalling (CLuaVirtualMachine& vm, int iFunctionNumber) = 0;\r
52\r
53 // When the script function has returns\r
54 virtual void HandleReturns (CLuaVirtualMachine& vm, const char *strFunc) = 0;\r
55\r
56 CLuaVirtualMachine& vm (void) { return m_vm; }\r
57\r
58protected:\r
59 int m_nMethods;\r
60 CLuaVirtualMachine& m_vm;\r
61 int m_iThisRef;\r
62 int m_nArgs;\r
63 const char *m_strFunctionName;\r
64};\r
65\r
66\r
f631762a 67#endif // __LUA_SCRIPT_BASE_H__\r