在地图加载完后的回调
首先自定义一个 UObject,UObject 可以跨地图存在。
. . .
Sol是一个用于C++绑定Lua脚本的库,仅由头文件组成,方便集成,并提供了大量易用的API接口,可以便利地将Lua脚本与C++代码绑定起来,而不必去关心如何使用那些晦涩的Lua C API。正如其作者所言,Sol的目的就是提供极其简洁的API,并能高效到与C语言媲美,极大地来方便人们使用。
Sol支持Lua的绝大多数版本,包括 5.1、5.2、5.3和LuaJit等,但由于代码中用到了许多C++11/14特性,因此编译时需要编译器支持C++14标准甚至C++17标准, 本人测试g++4.8.2无法编译过Sol2.20+的版本, 用g++6.2方能编过.
去 https://github.com/ThePhD/sol2 下载一个sol.hpp , 然后放到 /usr/local/include
里即可
只需要包含一个sol.hpp头文件即可,需要任何其他的东西, 没有什么静态库/动态库之类的东西, 也不需要像tolua++一样那么麻烦每个类都要写pkg文件. 只需要稍微学习一下Sol2的导出API即可.
. . .
如何绕过 g++ 4.8.1 那个不能在宏里面使用 R”(…)” 的 bug?
看到形如:R”” 这样的写法,相信学过 Python 的童鞋会感到似曾相识。Python 支持所谓的 “raw string”。Python 文档这样介绍 raw string:
Both string and bytes literals may optionally be prefixed with a letter ‘r’ or ‘R’; such strings are called raw strings and treat backslashes as literal characters. As a result, in string literals, ‘\U’ and ‘\u’ escapes in raw strings are not treated specially. Given that Python 2.x’s raw unicode literals behave differently than Python 3.x’s the ‘ur’ syntax is not supported.
从这段文字中我们可以看出,raw string 最大的特点就是:它不会对反斜杠’\’进行特殊的转义处理。
那么,它的这一特性有什么好处呢?
不用正则,不知 raw string 大法好!我们知道,正则表达式里,有很多元字符,当没有 raw string 时,我们需要在书写正则表达式的时候使用’\‘来表示元字符里的’\’,这样将导致正则表达式变得冗长,而且可读性也会降低。
. . .
一个轻量级的游戏服务器引擎
etcd
的 服务注册 / TTL / 服务发现 / 负载均衡 / 上报负载 / Watch机制 一体化msgpack
的RPC框架, 支持 ip地址直接call以及配合ECS的remote虚拟实体/组件直接callresult = await rpc_call()
的直接调RPC拿返回的效果locals
cancel_timer
的时候, 会一次性全部cancel掉所有本架构图根据 PlantUML 自动生成