Results 17 issues of notify

新神杀文档

如题,主要是`Router::messageReady`信号这一块。在主线程释放这个信号会让程序直接调用后续的`socket::send`函数,而在其他线程中调用该函数时则只是向队列中添加一个信号,实际的send操作仍在主线程进行。这就导致主线程中signal队列容易不断增长导致内存消耗不断提升(signal产生的速度很多时候比slot函数处理它的速度更快) 解决方案:我想不到,所以先记录在issue 参考 https://doc.qt.io/qt-6/threads-qobject.html#signals-and-slots-across-threads

bug

本issue用于记载更新过程中会破坏拓展兼容性的更新,供拓展主们参考。更新的节点有可能是出现某个tag,也有可能是freekill-core仓库里面的某条commit。目前的稳定版本是v0.4.19

如题所示,现在应该可以实现装备区和判定区的牌暗置,只是ui还不支持

如题,因为双端通过timestamp计算Request从发出到接收时经过的时间(主要用于手气卡),如果系统时间本身有差异,那么读条就会显示异常。解法可能是在连接到服务器时先计算出本机与服务器之间系统时间的差异。

bug

触发方法:完成对局后返回房间再开新局,然后某些技能是全局或者少判断hasSkill等 未验证能否复现。如果真的穿越到下一局的话事情就严重了,需要严查

bug

如题,写一个这样的简单shell脚本,以便在更新出故障时能更加方便的回退版本 *~(跑路)~*

如题,上次做虎牢关时深刻感受到 config还是得有个规章制度才好,我的设计思路是: - GameMode类提供一个`config_template: GameModeConfigEntry[]`用来定义UI上的配置项列表 - 创建房间时,当选中游戏模式后,若提供了这种template啥的,那么就显示一个按钮提示跳转到新Page - 新Page根据template中的数据绘制UI,然后读取client.config中这个mode保存着的config信息 - 用户操作UI自定义配置项 此外,GameMode的拓展制作者要注意结合config判断某局是不是要保存到数据库里面。

Lua
Qml

如题,现在Room中的用于发动GameEvent的函数已经分了个mixin出来(并且注释中认为Room继承它),类似的也可以给askForXXX也分一个mixin出来。 ### 如何组织文件? 我的看法是server/下新建一个文件夹,把`network.lua`(定义`Request`类的那个)放进来,再在里面定义多个文件放置各种askForXXX,文件组织或可比照requestHandler ### 如何造出更好用的askForXXX? 和神杀一脉相承的使用参数超多的askForXXX,代价就是用起来也像神杀那样难受,为此最好作出修改;可是怎么改呢?如果Lua有python那种按名字传参就好了可惜没有,所以传表吧? 联想一下request用法: ```lua local request = Request:new(command, {player}) request.accept_cancel = true request:setData(player, data) request:ask() return request.result[player.id] ``` 可见只需要维护data就行了,那直接`askForXXX(player, data)`? 又或者,手动创建Request并且填data,其实代码量比以前少好多了,但我需要插件给提示啊。。怎么办呢怎么让插件根据Command的不同而给出不同的setData提示呢。。。emmmmmmmmmmmmmmmmmmmmmm

Lua
Refactor

防止忘记,先留档,实际上留到v0.4.20之后再做吧。 基本上就是每种popup都作为Scene的子类。以及有相应的handler,可能框架和API设计还要再抠一下

Lua
Qml
Refactor