Пример #1
0
    public void coroutineButtonClickedHandler()
    {
        if (!_isCoroutineImport)
        {
            _isCoroutineImport = true;

            LuaContext.currentContext.registerModule <Person> ();
            LuaContext.currentContext.registerModule <LogModule> ();
            LuaContext.currentContext.registerModule <LuaClassImport> ();

            LuaClassImport.setIncludesClasses(LuaContext.currentContext, new List <Type> ()
            {
                typeof(Person), typeof(NativeData)
            });

            LuaContext.currentContext.registerMethod("GetValue", (arguments) =>
            {
                return(new LuaValue(1024));
            });

            LuaContext.currentContext.registerMethod("GetPixel", (arguments) =>
            {
                LuaTuple tuple = new LuaTuple();
                tuple.addRetrunValue(100);
                tuple.addRetrunValue(38);
                tuple.addRetrunValue(1002);

                return(new LuaValue(tuple));
            });
        }

        LuaContext.currentContext.evalScriptFromFile("coroutine.lua");
    }
Пример #2
0
    /// <summary>
    /// 导入类型按钮点击事件
    /// </summary>
    public void importClassButtonClickedHandler()
    {
        if (!_isClassImport)
        {
            _isClassImport = true;
            LuaContext.currentContext.registerModule <LuaClassImport> ();
            LuaClassImport.setIncludesClasses(LuaContext.currentContext, new List <Type> ()
            {
                typeof(Person), typeof(NativeData)
            });
        }

        LuaContext.currentContext.evalScript("local Person = ClassImport('Person'); local NativeData = ClassImport('NativeData'); print(Person, NativeData); local d = NativeData.create(); d:setDataId('xxx'); print(d:dataId()); local p = NativeData.createPerson(); print(p); p:setName('xxxx'); p = Person.printPerson(p); print(p); print(p:name());");
    }