大厅功能:修订间差异

来自泡泡
第45行: 第45行:
其中有一部分GameManager的代码涉及到状态机的管理,我们先不看状态机的逻辑,后面再说
其中有一部分GameManager的代码涉及到状态机的管理,我们先不看状态机的逻辑,后面再说


==== 预加载资源 ====
==== onHallWait-预加载资源 ====


*client
在进入大厅前,会有一个promise的异步接口供开发者使用去预加载资源,比如表格,比如读取文件配置等等。
在进入大厅前,会有一个promise的异步接口供开发者使用去预加载资源,比如表格,比如读取文件配置等等。



2024年9月4日 (三) 10:28的版本

老项目升级环境配置

项目demo地址

[git地址](https://git.jumpw.com/popx_demo/demox.git)

分支:hall_test

添加src/hall/index.ts的大厅服务器入口文件

修改打包配置rollup

  • rollup.config.js新增打包大厅index.js的配置
  • rollup.config.js加一下服务类的白名单


修改html启动文件

  • 拷贝覆盖index.html到你的项目中,拷贝hall.html本地大厅文件到同一文件夹下

审核后台勾选大厅

只有勾选了大厅后,登录流程才会走大厅的逻辑,否则是走的老的流程,直接进战斗房间

大厅游戏工作流说明

client用红色

hall用绿色

hall用蓝色


client监听的回调

为了方便说明,请打开demo中/src/client/index.ts,里面比较清晰的监听了核心事件

其中有一部分GameManager的代码涉及到状态机的管理,我们先不看状态机的逻辑,后面再说

onHallWait-预加载资源

  • client

在进入大厅前,会有一个promise的异步接口供开发者使用去预加载资源,比如表格,比如读取文件配置等等。

必须在加载完成的回调中resolve

//预加载资源
XPopManager.onHallWait =  new Promise((resolve)=>{
    GameManager.instance.onPreLoadRes(()=>{
        resolve("Resource loaded successfully hall");
    });
});

进入大厅

在游戏启动后,会直接进入大厅,可以监听onHallStart

//进入大厅
XPopManager.onHallStart = () => {
    GameManager.instance.onEnterHall();
}

开始匹配

匹配成功

进入战斗

战斗返回大厅

离开整个游戏