package com.gota.demo.lj;
import org.keplerproject.luajava.LuaException;
import org.keplerproject.luajava.LuaObject;
import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;
public class LuaScriptLoader extends ScriptLoader {
	public static final String SCRIPT_FOLDER = System.getProperty("user.dir") + "\\scripts\\";
	
	public LuaState luaState;
	
	public LuaScriptLoader(final String fileName, long reloadTime) {
		super(SCRIPT_FOLDER + fileName, reloadTime);
	}
	@Override
	protected void onCreate() {
		luaState = LuaStateFactory.newLuaState();
		luaState.openLibs();
	}
	@Override
	protected void onLoadScript() {
		luaState.LdoFile(fileName);
	}
	@Override
	protected void onCloseScript() {
		luaState.close();
	}
	/**
	 * 调用无返回值的脚本函数
	 * @param functionName 脚本函数名
	 * @param params 脚本函数参数
	 */
	public void call(String functionName, Object... params) {
		LuaObject fun = this.luaState.getLuaObject(functionName);
		try {
			fun.call(params, 0);
		} catch (LuaException e) {
			System.out.println("error: " + functionName);
			e.printStackTrace();
		}
	}
	/**
	 * 调用有返回值的脚本函数
	 * @param functionName 脚本函数名
	 * @param retNum 脚本函数返回值个数
	 * @param params 脚本函数参数
	 * @return 脚本函数返回值
	 */
	public Object[] call(String functionName, int retNum, Object... params) {
		LuaObject fun = this.luaState.getLuaObject(functionName);
		try {
			return fun.call(params, retNum);
		} catch (LuaException e) {
			e.printStackTrace();
		}
		return null;
	}
}
最近下载更多
                
                rohgeo     LV1
                2023年9月8日
            
            
        
                x15000926787     LV1
                2019年8月2日
            
            
        
                Song ling     LV6
                2019年6月25日
            
            
        
                a3870764722a     LV22
                2019年6月13日
            
            
        
                lvgaojian     LV1
                2019年5月23日
            
            
        
                kingkick20     LV1
                2018年2月8日
            
            
        
                最代码官方     LV168
                2017年6月11日
            
            
        
                watfgzs     LV21
                2014年11月30日
            
            
        
                zxwxiao     LV14
                2014年11月6日
            
            
        
                terryang     LV19
                2014年2月19日
            
            
        
最近浏览更多
                
                rohgeo     LV1
                2023年9月8日
            
            
        
                adimgaoshou     LV10
                2022年9月6日
            
            
        
                huangjie123456     LV5
                2022年4月22日
            
            
        
                hekewen1     LV7
                2021年5月6日
            
            
        
                329512801     LV28
                2020年5月26日
            
            
        
                zx8861     LV3
                2020年1月15日
            
            
        
                ljcute     LV1
                2020年1月7日
            
            
        
                x15000926787     LV1
                2019年8月2日
            
            
        
                lcjz99     LV11
                2019年7月3日
            
            
        
                Song ling     LV6
                2019年6月25日
            
            
        
    
                
                
                