文档章节

tolua# 注册

梦想游戏人
 梦想游戏人
发布于 2017/02/20 14:19
字数 118
阅读 93
收藏 0

CS代码


        lua = new LuaState();
        lua.AddSearchPath(Application.dataPath + "/Lua");
        lua.AddSearchPath(Application.dataPath + "/ToLua/Lua");
        lua.AddSearchPath(Application.dataPath + "/ToLua");

        lua.Start();

        LuaBinder.Bind(lua);
        lua.BeginModule(null);
        lua.BeginModule("RpcClient");

        lua.RegFunction("SendRequest", (System.IntPtr l) =>
        {

            string service = LuaDLL.lua_tostring(l, 1);
            string method = LuaDLL.lua_tostring(l, 2);
            string para = LuaDLL.lua_tostring(l, 3);

            LuaTypes t = LuaDLL.lua_type(l, 4);

            LuaFunction func = null; // 要先保存下来
            if (t == LuaTypes.LUA_TFUNCTION)
            {
                func = ToLua.ToLuaFunction(l, 4);
            }
            else
            {
                Debug.LogWarning("[LUA]:cb not a function");
            }

            RpcClient.ins.SendRequest( service,method,para, (string msg) =>
            {
                func.BeginPCall();
                func.Push(msg);
                func.PCall();
                func.EndPCall();
            });

       
            return 0;
        });


        lua.EndModule();
        lua.EndModule();

        lua.DoFile("Main.lua");

 

LUA代码

--主入口函数。从这里开始lua逻辑

RpcClient.SendRequest("services.login", "login", "account:1,pwd:1,",function (msg)
	 
	 print(msg)
	 end);

 

© 著作权归作者所有

梦想游戏人
粉丝 41
博文 461
码字总数 132517
作品 0
成都
私信 提问
cocos2d-x学习笔记(十一)c++与lua交互回调函数的处理

本文假设读者已经会使用tolua++进行C++与lua之间的通讯 1、在头文件中定义注册回调函数,定义在MyClass类中 void register(unsigned short cmdID, LUAFUNCTION func);//LUAFUNCTION其实就是一...

wty530
2017/05/05
0
0
Unity的lua项目为Tolua# 编译protobuf

记录以备忘 因为有别的现有架构,所以只是换lua中间件,同时需要protobuf,所以使用pbc加入编译。tolua#在github上就有simpleframwork可用,个人项目可以使用。 下载tolua# 的runtime项目 ht...

陌路-野山君
2016/10/09
4.2K
5
Lua脚本在C++下的舞步(三)

前两天一直忙于工作,没有时间来更新,呵呵,今天赶紧补上吧。 上一讲我把Lua基本的栈规则讲了一下,然后完善了一下我的CLuaFn类。让它可以支持任意参数数量和函数名称的传值。当然,这些功能...

长平狐
2012/08/13
1K
0
tolua++和wax混合使用时tolua全局对象被覆盖的问题

最近项目中遇到一个奇怪的问题,由于项目代码逻辑需要用到tolua++里暴露的tolua.cast来实现类型转换,在windows的vs环境下调试式没有问题,但是在ios或者mac上调试xcode工程时,发现tolua变成...

pigsoldier
2014/04/10
141
0
使用tolua++编译pkg,从而创建自定义类让Lua脚本使用

步骤一:首先自定义类(这里Himi自定义类名 “MySprite”) MySprite.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 MySprite.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ......

乐逍遥jun
2016/02/22
61
0

没有更多内容

加载失败,请刷新页面

加载更多

【jQuery基础学习】05 jQuery与Ajax以及序列化

本文转载于:专业的前端网站➭【jQuery基础学习】05 jQuery与Ajax以及序列化 好吧,这章不像上章那么水了,总是炒剩饭也不好。 关于AJAX 所谓Ajax,全名Asynchronous JavaScript and XML。(也...

前端老手
8分钟前
7
0
CVE-2019-14287(Linux sudo 漏洞)分析

作者:lu4nx@知道创宇404积极防御实验室 作者博客:《CVE-2019-14287(Linux sudo 漏洞)分析》 原文链接:https://paper.seebug.org/1057/ 近日 sudo 被爆光一个漏洞,非授权的特权用户可以...

极客君
9分钟前
3
0
关于分布式,你需要知道的真相

目录 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 2PC 本地消息表 三、CAP 一致性 可用性 分区容忍性 权衡 四、BASE 基...

李红欧巴
9分钟前
4
0
读书笔记:深入理解ES6 (附录B)

附录B:了解ES7(2016)   ES6经历了4年的发展,之后TC-39决定将发布周期转换为每年一版,以确保新语言特性能够更快地发展。   ES6中添加了三个语法特性,下面一一来讲。 第1节 指数运算...

张森ZS
15分钟前
3
0
计算机公开课推荐 2019.8

欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 编程 哈佛 CS50:计算机科学导论 视频 MIT 6.00.1x:计算机科...

ApacheCN_飞龙
16分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部