From c519fae9a4373620a7c91aea6ca439ad438b58bf Mon Sep 17 00:00:00 2001 From: "DESKTOP-5RP3AKU\\Jisol" <2858626794@qq.com> Date: Mon, 13 Nov 2023 02:37:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=96=B0=E6=89=8B=E5=BC=95?= =?UTF-8?q?=E5=AF=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataTables/Datas/__tables__.xlsx | Bin 9599 -> 9683 bytes .../{新手引导/选择宠物.xlsx => 全局表.xlsx} | Bin 9915 -> 9710 bytes JisolGameCocos/.protobufjs.js | 186 +++ JisolGameCocos/assets/resources.meta | 4 +- .../assets/resources/UICanvas.prefab | 2 +- .../assets/resources/config/TbGGlobalEnum.ts | 9 + .../resources/config/TbGGlobalEnum.ts.meta | 9 + .../assets/resources/config/data/schema.ts | 267 +++-- .../resources/config/json/tbgglobal.json | 7 + .../resources/config/json/tbgglobal.json.meta | 11 + JisolGameCocos/assets/resources/demo.meta | 9 + .../resources/prefab/ui/主页/HomeView.prefab | 382 ++++++- .../resources/prefab/ui/主页/MainView.prefab | 846 ++++++++++++++ .../prefab/ui/主页/MainView.prefab.meta | 13 + .../新手引导页面/NoviceSelectPetView.prefab | 1014 ++++++++++++++--- .../assets/resources/proto/GDemo.proto | 12 - .../assets/resources/proto/GDemo.proto.meta | 11 - JisolGameCocos/assets/script/App.ts | 9 +- JisolGameCocos/assets/script/AppData.ts | 32 +- JisolGameCocos/assets/script/Main.ts | 4 +- .../base/attack/GAttackParabolicBangRemote.ts | 2 +- .../script/battle/base/fsm/GFSMAnimBase.ts | 2 +- .../script/battle/base/role/GRoleDefault.ts | 2 +- JisolGameCocos/assets/script/consts/API.ts | 12 +- JisolGameCocos/assets/script/consts/GData.ts | 4 + JisolGameCocos/assets/script/data.meta | 9 + JisolGameCocos/assets/script/data/BaseData.ts | 11 + .../assets/script/data/BaseData.ts.meta | 9 + .../assets/script/data/PlayerData.ts | 21 + .../assets/script/data/PlayerData.ts.meta | 9 + .../assets/script/data/PlayerPetData.ts | 39 + .../assets/script/data/PlayerPetData.ts.meta | 9 + .../assets/script/ui/Home/HomeView.ts | 1 - .../assets/script/ui/Home/MainView.ts | 29 + .../assets/script/ui/Home/MainView.ts.meta | 1 + .../assets/script/ui/Loading/LoadingView.ts | 2 +- .../assets/script/ui/Novice/NoviceManager.ts | 12 +- .../script/ui/Novice/NoviceSelectPetView.ts | 82 +- JisolGameCocos/assets/script/ui/UIConfig.ts | 11 + JisolGameCocos/config/GMap.xlsx | Bin 11531 -> 0 bytes JisolGameCocos/config/GRole.xlsx | Bin 11447 -> 0 bytes JisolGameCocos/config/GRoleAttack.xlsx | Bin 11297 -> 0 bytes JisolGameCocos/config/GRoleAttackBullet.xlsx | Bin 11104 -> 0 bytes JisolGameCocos/config/GRoleAttackEffect.xlsx | Bin 11172 -> 0 bytes JisolGameCocos/config/GRoleSkill.xlsx | Bin 11530 -> 0 bytes JisolGameCocos/config/GRoleSkillEffect.xlsx | Bin 11331 -> 0 bytes JisolGameCocos/config/Id Info.txt | 6 - JisolGameCocos/config/Table Info.txt | 7 - JisolGameCocos/extensions/ngame | 2 +- JisolGameCocos/package-lock.json | 900 +++++++++++++++ JisolGameCocos/package.json | 3 +- .../settings/v2/packages/information.json | 4 +- JisolGameCocos/tsconfig.json | 3 +- JisolGameServer/JNGame | 2 +- .../Main/src/main/java/cfg/TB/TbGGlobal.java | 55 + .../Main/src/main/java/cfg/Tables.java | 9 +- .../Main/src/main/java/cfg/TbGGlobal.java | 37 + .../java/cn/jisol/game/config/WebConfig.java | 7 + .../argsresolver/CurrentPlayer.java | 10 + .../PlayerMethodArgumentResolver.java | 65 ++ .../controller/exception/PlayerException.java | 4 + .../controller/game/GNoviceController.java | 65 ++ ...Controller.java => GPlayerController.java} | 5 +- .../controller/game/GPlayerPetController.java | 49 + .../main/java/cn/jisol/game/data/Cache.java | 4 +- .../java/cn/jisol/game/data/GlobalIds.java | 8 + .../cn/jisol/game/entity/game/PlayerPet.java | 5 +- .../cn/jisol/game/mapper/PlayerPetMapper.java | 10 + .../jisol/game/service/PlayerPetService.java | 8 + .../service/impl/PlayerPetServiceImpl.java | 15 + .../src/main/resources/json/tbgglobal.json | 7 + 71 files changed, 4009 insertions(+), 375 deletions(-) rename DataTables/Datas/{新手引导/选择宠物.xlsx => 全局表.xlsx} (62%) create mode 100644 JisolGameCocos/.protobufjs.js create mode 100644 JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts create mode 100644 JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts.meta create mode 100644 JisolGameCocos/assets/resources/config/json/tbgglobal.json create mode 100644 JisolGameCocos/assets/resources/config/json/tbgglobal.json.meta create mode 100644 JisolGameCocos/assets/resources/demo.meta create mode 100644 JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab create mode 100644 JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab.meta delete mode 100644 JisolGameCocos/assets/resources/proto/GDemo.proto delete mode 100644 JisolGameCocos/assets/resources/proto/GDemo.proto.meta create mode 100644 JisolGameCocos/assets/script/data.meta create mode 100644 JisolGameCocos/assets/script/data/BaseData.ts create mode 100644 JisolGameCocos/assets/script/data/BaseData.ts.meta create mode 100644 JisolGameCocos/assets/script/data/PlayerData.ts create mode 100644 JisolGameCocos/assets/script/data/PlayerData.ts.meta create mode 100644 JisolGameCocos/assets/script/data/PlayerPetData.ts create mode 100644 JisolGameCocos/assets/script/data/PlayerPetData.ts.meta create mode 100644 JisolGameCocos/assets/script/ui/Home/MainView.ts create mode 100644 JisolGameCocos/assets/script/ui/Home/MainView.ts.meta delete mode 100644 JisolGameCocos/config/GMap.xlsx delete mode 100644 JisolGameCocos/config/GRole.xlsx delete mode 100644 JisolGameCocos/config/GRoleAttack.xlsx delete mode 100644 JisolGameCocos/config/GRoleAttackBullet.xlsx delete mode 100644 JisolGameCocos/config/GRoleAttackEffect.xlsx delete mode 100644 JisolGameCocos/config/GRoleSkill.xlsx delete mode 100644 JisolGameCocos/config/GRoleSkillEffect.xlsx delete mode 100644 JisolGameCocos/config/Id Info.txt delete mode 100644 JisolGameCocos/config/Table Info.txt create mode 100644 JisolGameCocos/package-lock.json create mode 100644 JisolGameServer/Main/src/main/java/cfg/TB/TbGGlobal.java create mode 100644 JisolGameServer/Main/src/main/java/cfg/TbGGlobal.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/CurrentPlayer.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/PlayerMethodArgumentResolver.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/controller/exception/PlayerException.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GNoviceController.java rename JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/{PlayerController.java => GPlayerController.java} (96%) create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerPetController.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/data/GlobalIds.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/mapper/PlayerPetMapper.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/service/PlayerPetService.java create mode 100644 JisolGameServer/Main/src/main/java/cn/jisol/game/service/impl/PlayerPetServiceImpl.java create mode 100644 JisolGameServer/Main/src/main/resources/json/tbgglobal.json diff --git a/DataTables/Datas/__tables__.xlsx b/DataTables/Datas/__tables__.xlsx index 5dff1ecc235c3b5570e267926ade291bca8d2e1f..598afad8cb007ec5333b5bbf22091aa5668a9ed1 100644 GIT binary patch delta 2395 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 NP9-Y_wjlrj0017SY_9+S delta 2303 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 Xu@C^4aAf~AdO(PT26PPb@6&$)lIH-D delta 2403 zcmV-p37q!sOS?_5lmP@i6pa3pm;oSvO2aT1$M1sgP;zgRtZdfMcHm?u2Z9yFTS&fb z#WpQTblcH4@T522!}n32!?fFKhvG5$|MSZ)ABo57vhW^3o4is9q5(l3C{f8=EfRE{ zP5lUY#&RWjQ7K5!1`Haf$49ZKnW!{e>Z%59b1zwU@=hm@j2)(^U90a9Qnpaf+NrUAu2T?@K2 ze;#O)UbD>Yrgm@I>Gs)DY{Ra-HhEWEtyaM*Y&D!e#kaGItM;jWu9{g1Kxr%m6B@X! zbb2|7ac|j-uHeSb+?3}z$g@pT`t|no`TFwl{v6}qp+mLiTOLTyxv;JIKDh}e=h+mc z144&B8Tn+G(TLGgM#x=r_rdwbZM#wK4E`k!LZ4EfL>V2j@Pvg?kGKb!y00$8O02lz1z9kxel~~(yqc{+K->UrwiuVEITbz{bDaV*`HupI9 zH-hDu3LplQII~|rEeX*eC}$=Q;kb4Bs-_W)zkkM&@jjje`14fHeo&*kJz4ibNz}WDU(?8oUW!D1GC^6A*Q{bwS`Z z{eXoZWKN=JVsf)a{!_RqT-c?L=@_x{=ZVI-%8WJH`0o*$)94{wv+cxxJT#T;hVGUm zeBCk#rf+ozJn(=PU;M;gZ(Oy zoNxozLd5~kdwlc@1-L3718ek!7l=W4foq}E9a+6El!k>8T$K{QJ)s>G3UF1q^em@W z`P-`w149G}*Ft?z*M=H@HND$%-$YCBHl2<$x-;MwhBCr%DT^uFLW)zL&mHHe$J;L8 zA zNP9m0EmgbxTG5k4V&MmU4L zQ)$d#mr4x#QDUe(U>jPa><_p}p$Xu>?5QvML$cxiDf?qsuljM5aZqQ>n~YJN;eN?j zG#Q6=8(x#4#qmQiRCSh8Ff7Y;A_dj{=$4D82+t6nBfLO(iSP>HHNqQ&D}=WQ?-1T2 zd_ee!@Co5F!r82Uf?=0b)-%|T5<}(n{(xEV7xP21tMkLr2S^J=pCBz1eT1}7^cm7Z z(T7M2MV}&yqH46%1t(Ha?GkYU5Hsf#;Tghngck@e5nds@MtFm8h42>P9m0Er4+tL- zJ|TQYIGa`QaRtvS*cG@oMc^?kP7y;3WZsB3kiy<%c#73zwBDSn^-41OglnN_18kuv zWim?8o{U^=CIe@cy~)6OEg9`DnyYn8rmNM_ZJ}uUyHFG!d%wB=UUhxY*eJQ$%neRh zdvk;JT5j5Z?LSxRmE5$wbXzD|g%*mUa??zB)%D&$E8bGBHgn_ejq*Mk;(g?CDL=uh zrdUcrQymWZg?bOw=UiG<_jJKh3YzvDc(HAXM~JHymxZLo0zYlZjH)5Q+^omsHY8pl z0n=sPg{Z|1e`vS3knZv5&+A3owlw zk8zFH?%1GGi4mq@Br>lsDpOy$wH)pp4!w1M#0Ab|^HMp{hU>?v(E?g&0=fpj?Y@O9+lKU*Um5fEAs6Z6~x@w{1AME&Q{@>kVe3H#f5_n^~>4hw33 znixEO7%hIEbyfRi^zK7GnR!r8C_V#;o{b8i-Ya#mmxl7Sf3wEI$AEeB@4)cIm+;A> zLGQ=UgSV#!j)zlV8PAu-f#t%6QSa9!qV=_~zoNFfCj-OH*J^V~eeOj&J!lx_cp{rS zr~aM?#=j%y7qd(puLS}IA(QNryAp!sZ%>)1d6aWAK000000RSKX z00735Pb5JN01yBGcx*3oba`xLbCYl*Ad|f$4gu1W%p^7e`I7@BKmr*ZlSL(63gwAg V^X>!y00$A1tR*}Ko+1DM002$^gCqa| diff --git a/JisolGameCocos/.protobufjs.js b/JisolGameCocos/.protobufjs.js new file mode 100644 index 00000000..8a5d7061 --- /dev/null +++ b/JisolGameCocos/.protobufjs.js @@ -0,0 +1,186 @@ +const path = require("path"); +const child_process = require("child_process"); +const fs = require("fs"); + +/** + * @typedef {Object} proto_list + * @property {string | undefined} namespace_s 命名空间 + * @property {string[]} proto_ss 协议文件(生成为脚本的协议文件) + * @property {string} ts_output_path_s ts 输出路径(带脚本名) + * @property {string} dts_output_path_s d.ts 输出路径(带脚本名) + * @property {string[] | undefined} pbjs_parameters_ss pbjs 生成时参数(可用于裁剪代码, 命令行`npx pbjs`查看具体参数) + */ + +module.exports = { + /** + * 协议列表 + * @type {proto_list[]} + */ + proto_list: [], + /** + 自动构建开关 + - true: 递归监听 dir_path_ss 内的文件添加/删除/修改,并触发构建指令 + - false:需要手动点击 `protobuf/构建` 才会触发构建菜单 + */ + automatic_build_b: false, + + /** 自动构建延迟(秒),防止短时间内频繁触发构建 */ + automatic_build_delay_s_n: 2, + + /** + * 构建函数 + * @param {proto_list} config_ proto 配置 + * @returns {boolean} 成功状态 + */ + async build_f(config_) { + // 生成消息头 + child_process.execSync("npx ts-node ./protobuf/main.ts", { + "cwd": "./tool" + }) + + /** ts 输出路径 */ + let ts_output_path_s = config_.ts_output_path_s[0] !== "." ? config_.ts_output_path_s : path.join(__dirname, config_.ts_output_path_s); + /** js 输出路径 */ + let js_output_path_s = path.join(path.dirname(ts_output_path_s), path.basename(ts_output_path_s, path.extname(ts_output_path_s)) + ".js"); + /** 声明文件路径 */ + let dts_path_s = config_.dts_output_path_s[0] !== "." ? config_.dts_output_path_s : path.join(__dirname, config_.dts_output_path_s); + + // 确保文件夹存在 + { + if (!fs.existsSync(path.dirname(ts_output_path_s))) { + fs.mkdirSync(path.dirname(ts_output_path_s)); + } + + if (!fs.existsSync(path.dirname(dts_path_s))) { + fs.mkdirSync(path.dirname(dts_path_s)); + } + } + + let result = await Promise.resolve() + // 生成 js 文件 + .then(() => { + return new Promise((resolve_f, reject_t) => { + // 使用 es6 的生成类型 + child_process.exec( + `npx pbjs -t static-module -w es6 -l eslint-disable --es6 --keep-case ${!config_.pbjs_parameters_ss ? "" : config_.pbjs_parameters_ss.join(" ") + } ${!config_.namespace_s ? "" : `--root ${config_.namespace_s}`} -o ${js_output_path_s} ${config_.proto_ss.join(" ")}`, + { + cwd: __dirname, + }, + (error, stdout, stderr) => { + if (stderr) { + reject_t(stderr); + return; + } + + resolve_f(); + } + ); + }); + }) + // 生成 d.ts 文件 + .then(() => { + // 生成 d.ts + return new Promise((resolve_f, reject_t) => { + child_process.exec( + `npx pbts -m ${config_.namespace_s ? `--root ${config_.namespace_s}` : ""} -o ${dts_path_s} ${js_output_path_s}`, + { + cwd: __dirname, + }, + (error, stdout, stderr) => { + if (stderr) { + reject_t(stderr); + return; + } + + resolve_f(); + } + ); + }); + }) + // js 后处理 + .then(() => { + let file_s = fs.readFileSync(js_output_path_s, "utf-8"); + + file_s = file_s + // 替换 import + .replace('import * as $protobuf from "protobufjs/minimal";', 'import $protobuf from "protobufjs/minimal.js";') + // 替换 root + .replace(/const \$root = ([^]+?);/, "const $root = {};"); + + // 存在命名空间 + if (config_.namespace_s) { + file_s = file_s.replace(/export const /g, "const "); + } + + // 更新协议文件 + fs.writeFileSync(js_output_path_s, file_s); + }) + // d.ts 文件后处理 + .then(() => { + let file_s = fs.readFileSync(dts_path_s, "utf-8"); + + if (config_.namespace_s) { + file_s = `export namespace ${config_.namespace_s} {\n${file_s}\n}`; + } + // 添加类型声明 + file_s = `import type { Long } from "protobufjs";\n` + file_s; + // 后处理 + file_s = file_s.replace(/\$protobuf/g, "protobuf"); + + // 更新协议文件 + fs.writeFileSync(dts_path_s, file_s); + }) + // 将 js 协议脚本转换为 ts + .then(() => { + let js_file_s = fs.readFileSync(js_output_path_s, "utf-8"); + /** ts 文件路径 */ + let ts_script_path_s = path.join( + path.dirname(ts_output_path_s), + path.basename(ts_output_path_s, path.extname(ts_output_path_s)) + ".ts" + ); + /** d.ts 相对路径 */ + let dts_relative_path_s = path.relative(path.dirname(ts_output_path_s), path.dirname(dts_path_s)).replace(/\\/g, "/"); + /** d.ts 导入路径 */ + let dts_import_path_s = (dts_relative_path_s || "./") + path.basename(dts_path_s, ".ts"); + + // 后处理 + js_file_s = js_file_s + // 对象类型const $root: typeof import("./test.d").pb + .replace( + "const $root = ", + `const $root: typeof import("${dts_import_path_s}")${config_.namespace_s ? `.${config_.namespace_s}` : ""} = ` + ) + // 修复对象类型错误 + .replace( + /export const ([^ ]+?) = ([^ ]+?) =/g, + function (...args_as) { + return `export const ${args_as[1]}: typeof ${args_as[2]} = ${args_as[2]} =`; + } + ); + + if (config_.namespace_s) { + js_file_s = js_file_s + // module.exports + .replace( + "export { $root as default }", + `export ${config_.namespace_s ? `const ${config_.namespace_s} = ` : ""}{ ...$root }`); + } + + fs.writeFileSync(js_output_path_s, "// @ts-nocheck\n" + js_file_s); + fs.renameSync(js_output_path_s, ts_script_path_s); + }) + // 捕获错误 + .catch((error) => { + console.error("生成错误:", error); + + return false; + }) + // 任务完成 + .then((v) => { + return v ?? true; + }); + + return result; + }, +}; diff --git a/JisolGameCocos/assets/resources.meta b/JisolGameCocos/assets/resources.meta index 63c21a3d..56577ce9 100644 --- a/JisolGameCocos/assets/resources.meta +++ b/JisolGameCocos/assets/resources.meta @@ -7,10 +7,10 @@ "subMetas": {}, "userData": { "isBundle": true, - "bundleConfigID": "514cB4o1lDLr4YHgRwsEVt", "bundleName": "resources", "priority": 8, "compressionType": {}, - "isRemoteBundle": {} + "isRemoteBundle": {}, + "bundleConfigID": "514cB4o1lDLr4YHgRwsEVt" } } diff --git a/JisolGameCocos/assets/resources/UICanvas.prefab b/JisolGameCocos/assets/resources/UICanvas.prefab index 92f052b4..9cc79b76 100644 --- a/JisolGameCocos/assets/resources/UICanvas.prefab +++ b/JisolGameCocos/assets/resources/UICanvas.prefab @@ -147,7 +147,7 @@ }, "_depth": 1, "_stencil": 0, - "_clearFlags": 7, + "_clearFlags": 6, "_rect": { "__type__": "cc.Rect", "x": 0, diff --git a/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts b/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts new file mode 100644 index 00000000..dd8bfcdf --- /dev/null +++ b/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts @@ -0,0 +1,9 @@ + + +//全局表枚举 +export enum TbGGlobalEnum{ + + SELECT_PET_ID = 70001, //选择宠物配置表Id + +} + diff --git a/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts.meta b/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts.meta new file mode 100644 index 00000000..056c4cc7 --- /dev/null +++ b/JisolGameCocos/assets/resources/config/TbGGlobalEnum.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "d9c2c57c-b824-4392-b668-64d669f5d31d", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/resources/config/data/schema.ts b/JisolGameCocos/assets/resources/config/data/schema.ts index 737d4e14..cf8adac1 100644 --- a/JisolGameCocos/assets/resources/config/data/schema.ts +++ b/JisolGameCocos/assets/resources/config/data/schema.ts @@ -12,6 +12,39 @@ +export namespace TB { +export class TbGGlobal { + + constructor(_json_: any) { + if (_json_.id === undefined) { throw new Error() } + this.id = _json_.id + if (_json_.args === undefined) { throw new Error() } + this.args = _json_.args + if (_json_.tig === undefined) { throw new Error() } + this.tig = _json_.tig + } + + /** + * id + */ + readonly id: number + /** + * 全局表参数 + */ + readonly args: string + /** + * 描述 + */ + readonly tig: string + + resolve(tables:Tables) + { + } +} + +} + + export namespace TB { export class TbGRole { @@ -57,69 +90,6 @@ export class TbGRole { } -export namespace TB { -export class TbGMap { - - constructor(_json_: any) { - if (_json_.id === undefined) { throw new Error() } - this.id = _json_.id - if (_json_.mapName === undefined) { throw new Error() } - this.mapName = _json_.mapName - if (_json_.map1 === undefined) { throw new Error() } - this.map1 = _json_.map1 - if (_json_.map2 === undefined) { throw new Error() } - this.map2 = _json_.map2 - if (_json_.map3 === undefined) { throw new Error() } - this.map3 = _json_.map3 - if (_json_.map1OffsetY === undefined) { throw new Error() } - this.map1OffsetY = _json_.map1OffsetY - if (_json_.map2OffsetY === undefined) { throw new Error() } - this.map2OffsetY = _json_.map2OffsetY - if (_json_.map3OffsetY === undefined) { throw new Error() } - this.map3OffsetY = _json_.map3OffsetY - } - - /** - * id - */ - readonly id: number - /** - * 地图名称 - */ - readonly mapName: string - /** - * 地图1(前) - */ - readonly map1: string - /** - * 地图2(后) - */ - readonly map2: string - /** - * 地图3(天空) - */ - readonly map3: string - /** - * 地图1(前) 偏移量Y - */ - readonly map1OffsetY: number - /** - * 地图2(后) 偏移量Y - */ - readonly map2OffsetY: number - /** - * 地图2(后) 偏移量Y - */ - readonly map3OffsetY: number - - resolve(tables:Tables) - { - } -} - -} - - export namespace TB { export class TbGRoleAttack { @@ -237,6 +207,101 @@ export class TbGRoleSkill { } +export namespace TB { +export class TbGMap { + + constructor(_json_: any) { + if (_json_.id === undefined) { throw new Error() } + this.id = _json_.id + if (_json_.mapName === undefined) { throw new Error() } + this.mapName = _json_.mapName + if (_json_.map1 === undefined) { throw new Error() } + this.map1 = _json_.map1 + if (_json_.map2 === undefined) { throw new Error() } + this.map2 = _json_.map2 + if (_json_.map3 === undefined) { throw new Error() } + this.map3 = _json_.map3 + if (_json_.map1OffsetY === undefined) { throw new Error() } + this.map1OffsetY = _json_.map1OffsetY + if (_json_.map2OffsetY === undefined) { throw new Error() } + this.map2OffsetY = _json_.map2OffsetY + if (_json_.map3OffsetY === undefined) { throw new Error() } + this.map3OffsetY = _json_.map3OffsetY + } + + /** + * id + */ + readonly id: number + /** + * 地图名称 + */ + readonly mapName: string + /** + * 地图1(前) + */ + readonly map1: string + /** + * 地图2(后) + */ + readonly map2: string + /** + * 地图3(天空) + */ + readonly map3: string + /** + * 地图1(前) 偏移量Y + */ + readonly map1OffsetY: number + /** + * 地图2(后) 偏移量Y + */ + readonly map2OffsetY: number + /** + * 地图2(后) 偏移量Y + */ + readonly map3OffsetY: number + + resolve(tables:Tables) + { + } +} + +} + + + + +export class TbGGlobal{ + private _dataMap: Map + private _dataList: TB.TbGGlobal[] + constructor(_json_: any) { + this._dataMap = new Map() + this._dataList = [] + for(var _json2_ of _json_) { + let _v: TB.TbGGlobal + _v = new TB.TbGGlobal(_json2_) + this._dataList.push(_v) + this._dataMap.set(_v.id, _v) + } + } + + getDataMap(): Map { return this._dataMap; } + getDataList(): TB.TbGGlobal[] { return this._dataList; } + + get(key: number): TB.TbGGlobal | undefined { return this._dataMap.get(key); } + + resolve(tables:Tables) + { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + +} + + export class TbGRole{ @@ -271,38 +336,6 @@ export class TbGRole{ -export class TbGMap{ - private _dataMap: Map - private _dataList: TB.TbGMap[] - constructor(_json_: any) { - this._dataMap = new Map() - this._dataList = [] - for(var _json2_ of _json_) { - let _v: TB.TbGMap - _v = new TB.TbGMap(_json2_) - this._dataList.push(_v) - this._dataMap.set(_v.id, _v) - } - } - - getDataMap(): Map { return this._dataMap; } - getDataList(): TB.TbGMap[] { return this._dataList; } - - get(key: number): TB.TbGMap | undefined { return this._dataMap.get(key); } - - resolve(tables:Tables) - { - for(let data of this._dataList) - { - data.resolve(tables) - } - } - -} - - - - export class TbGRoleAttack{ private _dataMap: Map private _dataList: TB.TbGRoleAttack[] @@ -399,31 +432,67 @@ export class TbGRoleSkill{ +export class TbGMap{ + private _dataMap: Map + private _dataList: TB.TbGMap[] + constructor(_json_: any) { + this._dataMap = new Map() + this._dataList = [] + for(var _json2_ of _json_) { + let _v: TB.TbGMap + _v = new TB.TbGMap(_json2_) + this._dataList.push(_v) + this._dataMap.set(_v.id, _v) + } + } + + getDataMap(): Map { return this._dataMap; } + getDataList(): TB.TbGMap[] { return this._dataList; } + + get(key: number): TB.TbGMap | undefined { return this._dataMap.get(key); } + + resolve(tables:Tables) + { + for(let data of this._dataList) + { + data.resolve(tables) + } + } + +} + + + + type JsonLoader = (file: string) => any export class Tables { + private _TbGGlobal: TbGGlobal + get TbGGlobal(): TbGGlobal { return this._TbGGlobal;} private _TbGRole: TbGRole get TbGRole(): TbGRole { return this._TbGRole;} - private _TbGMap: TbGMap - get TbGMap(): TbGMap { return this._TbGMap;} private _TbGRoleAttack: TbGRoleAttack get TbGRoleAttack(): TbGRoleAttack { return this._TbGRoleAttack;} private _TbGRoleBattleRes: TbGRoleBattleRes get TbGRoleBattleRes(): TbGRoleBattleRes { return this._TbGRoleBattleRes;} private _TbGRoleSkill: TbGRoleSkill get TbGRoleSkill(): TbGRoleSkill { return this._TbGRoleSkill;} + private _TbGMap: TbGMap + get TbGMap(): TbGMap { return this._TbGMap;} constructor(loader: JsonLoader) { + this._TbGGlobal = new TbGGlobal(loader('tbgglobal')) this._TbGRole = new TbGRole(loader('tbgrole')) - this._TbGMap = new TbGMap(loader('tbgmap')) this._TbGRoleAttack = new TbGRoleAttack(loader('tbgroleattack')) this._TbGRoleBattleRes = new TbGRoleBattleRes(loader('tbgrolebattleres')) this._TbGRoleSkill = new TbGRoleSkill(loader('tbgroleskill')) + this._TbGMap = new TbGMap(loader('tbgmap')) + this._TbGGlobal.resolve(this) this._TbGRole.resolve(this) - this._TbGMap.resolve(this) this._TbGRoleAttack.resolve(this) this._TbGRoleBattleRes.resolve(this) this._TbGRoleSkill.resolve(this) + this._TbGMap.resolve(this) } } diff --git a/JisolGameCocos/assets/resources/config/json/tbgglobal.json b/JisolGameCocos/assets/resources/config/json/tbgglobal.json new file mode 100644 index 00000000..6d712f41 --- /dev/null +++ b/JisolGameCocos/assets/resources/config/json/tbgglobal.json @@ -0,0 +1,7 @@ +[ + { + "id": 70001, + "args": "[10004,10001,10002]", + "tig": "新手引导选择宠物[妙蛙种子,小石头,疯狂石头]" + } +] \ No newline at end of file diff --git a/JisolGameCocos/assets/resources/config/json/tbgglobal.json.meta b/JisolGameCocos/assets/resources/config/json/tbgglobal.json.meta new file mode 100644 index 00000000..d0534934 --- /dev/null +++ b/JisolGameCocos/assets/resources/config/json/tbgglobal.json.meta @@ -0,0 +1,11 @@ +{ + "ver": "2.0.1", + "importer": "json", + "imported": true, + "uuid": "1bab3314-296c-4ade-91fa-a20dee0a3243", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/resources/demo.meta b/JisolGameCocos/assets/resources/demo.meta new file mode 100644 index 00000000..2f0d01ce --- /dev/null +++ b/JisolGameCocos/assets/resources/demo.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "d1b3b996-3e05-4157-a712-8073277b2be8", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/resources/prefab/ui/主页/HomeView.prefab b/JisolGameCocos/assets/resources/prefab/ui/主页/HomeView.prefab index 7b86b51f..93105730 100644 --- a/JisolGameCocos/assets/resources/prefab/ui/主页/HomeView.prefab +++ b/JisolGameCocos/assets/resources/prefab/ui/主页/HomeView.prefab @@ -59,22 +59,25 @@ }, { "__id__": 161 + }, + { + "__id__": 167 } ], "_active": true, "_components": [ { - "__id__": 167 + "__id__": 182 }, { - "__id__": 169 + "__id__": 184 }, { - "__id__": 171 + "__id__": 186 } ], "_prefab": { - "__id__": 173 + "__id__": 188 }, "_lpos": { "__type__": "cc.Vec3", @@ -3979,6 +3982,369 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "Button-005", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 168 + } + ], + "_active": true, + "_components": [ + { + "__id__": 174 + }, + { + "__id__": 176 + }, + { + "__id__": 178 + } + ], + "_prefab": { + "__id__": 181 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -122.21, + "y": 388.865, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 512, + "__editorExtras__": {}, + "_parent": { + "__id__": 167 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 169 + }, + { + "__id__": 171 + } + ], + "_prefab": { + "__id__": 173 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 168 + }, + "_enabled": true, + "__prefab": { + "__id__": 170 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "181opkbsFLlJNymR3M4uvu" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 168 + }, + "_enabled": true, + "__prefab": { + "__id__": 172 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_string": "关闭页面", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 1, + "_enableWrapText": false, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "81YMncu2NHsagDuwTq7/U6" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d3Bd/9nkpON4BJ8l9e8YpR", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 167 + }, + "_enabled": true, + "__prefab": { + "__id__": 175 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f2A4s7sxNJZoPz5Yxd1Kjo" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 167 + }, + "_enabled": true, + "__prefab": { + "__id__": 177 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d5zsQW2rJHwJgz15jlkPil" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 167 + }, + "_enabled": true, + "__prefab": { + "__id__": 179 + }, + "clickEvents": [ + { + "__id__": 180 + } + ], + "_interactable": true, + "_transition": 2, + "_normalColor": { + "__type__": "cc.Color", + "r": 214, + "g": 214, + "b": 214, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_pressedSprite": { + "__uuid__": "544e49d6-3f05-4fa8-9a9e-091f98fc2ce8@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_disabledSprite": { + "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": { + "__id__": 167 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "36ADMzWDFFrJ4Zovw7UC0Q" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "15051raQgZN6J5ICgY2OfSS", + "handler": "close", + "customEventData": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "33JGU4WUBFUY+HahE3PBE8", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.UITransform", "_name": "", @@ -3989,7 +4355,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 168 + "__id__": 183 }, "_contentSize": { "__type__": "cc.Size", @@ -4017,7 +4383,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 170 + "__id__": 185 }, "_alignFlags": 45, "_target": null, @@ -4053,8 +4419,10 @@ }, "_enabled": true, "__prefab": { - "__id__": 172 + "__id__": 187 }, + "mask": false, + "maskOpcity": 80, "frameText": { "__id__": 19 }, diff --git a/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab b/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab new file mode 100644 index 00000000..2b7891fa --- /dev/null +++ b/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab @@ -0,0 +1,846 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "MainView", + "_objFlags": 0, + "__editorExtras__": {}, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "MainView", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 10 + }, + { + "__id__": 16 + } + ], + "_active": true, + "_components": [ + { + "__id__": 31 + }, + { + "__id__": 33 + }, + { + "__id__": 35 + } + ], + "_prefab": { + "__id__": 37 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 720, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 720, + "height": 1280 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8ftYzn1eBL/KI9lfvctDGE" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "72OG0M5ThEtaIaziixD4R1" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 720, + "_originalHeight": 720, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8ejneRsd9FXLr6cGBBG0Rk" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "85bQbPz7FPkaRPL/kSAwAE", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "spine", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 11 + }, + { + "__id__": 13 + } + ], + "_prefab": { + "__id__": 15 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 12 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "57eZ8/fvZJMrM7Wj3WO68q" + }, + { + "__type__": "sp.Skeleton", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 14 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_skeletonData": null, + "defaultSkin": "", + "defaultAnimation": "", + "_premultipliedAlpha": true, + "_timeScale": 1, + "_preCacheMode": -1, + "_cacheMode": 0, + "_defaultCacheMode": 0, + "_sockets": [], + "_useTint": false, + "_debugMesh": false, + "_debugBones": false, + "_debugSlots": false, + "_enableBatch": false, + "loop": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "37W02pxDdPjqDU8/T4AAOl" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "3aPdHbGrlJEpmRvxGxJCdp", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "Button", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 17 + } + ], + "_active": true, + "_components": [ + { + "__id__": 23 + }, + { + "__id__": 25 + }, + { + "__id__": 27 + } + ], + "_prefab": { + "__id__": 30 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -364.234, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 512, + "__editorExtras__": {}, + "_parent": { + "__id__": 16 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 18 + }, + { + "__id__": 20 + } + ], + "_prefab": { + "__id__": 22 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 19 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a9+SjkwpRBtLeZcty/qH1n" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 21 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_string": "核心战斗", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 1, + "_enableWrapText": false, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2dawV4XTdMuYnCbtT3Cljm" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "69jWhf9aNOtL1KLSUC4G5j", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 24 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fblznbfCtPipV+qIiTc2gG" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 26 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b6zPpk3tRATK2kgUd5aGfi" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "clickEvents": [ + { + "__id__": 29 + } + ], + "_interactable": true, + "_transition": 2, + "_normalColor": { + "__type__": "cc.Color", + "r": 214, + "g": 214, + "b": 214, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": { + "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_pressedSprite": { + "__uuid__": "544e49d6-3f05-4fa8-9a9e-091f98fc2ce8@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_disabledSprite": { + "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": { + "__id__": 16 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "81yU6sKR9D5rgF4SxiwMUz" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "b51bfKvsidNPKBbFirAFgQI", + "handler": "onClickHome", + "customEventData": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "60FAaYqK9Ia5BCiy9jtGNo", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 32 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 720, + "height": 1280 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1dgJxmIH5HIpXD6y0/xMwI" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 34 + }, + "_alignFlags": 45, + "_target": null, + "_left": 720, + "_right": -720, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 100, + "_originalHeight": 100, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "582zBz6m5DKqmkTkiS/LE0" + }, + { + "__type__": "b51bfKvsidNPKBbFirAFgQI", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 36 + }, + "mask": false, + "maskOpcity": 80, + "spine": { + "__id__": 13 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "76LGqkFbVGmYN33BpKxb+5" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "08xLpDDa9NlK3pgR7XiOqb", + "instance": null, + "targetOverrides": null + } +] \ No newline at end of file diff --git a/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab.meta b/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab.meta new file mode 100644 index 00000000..ac398e40 --- /dev/null +++ b/JisolGameCocos/assets/resources/prefab/ui/主页/MainView.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.49", + "importer": "prefab", + "imported": true, + "uuid": "a9de536f-0262-4e1b-92ee-b0c5b27ae808", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "MainView" + } +} diff --git a/JisolGameCocos/assets/resources/prefab/ui/新手引导页面/NoviceSelectPetView.prefab b/JisolGameCocos/assets/resources/prefab/ui/新手引导页面/NoviceSelectPetView.prefab index 2ab48f30..37bfdeca 100644 --- a/JisolGameCocos/assets/resources/prefab/ui/新手引导页面/NoviceSelectPetView.prefab +++ b/JisolGameCocos/assets/resources/prefab/ui/新手引导页面/NoviceSelectPetView.prefab @@ -25,26 +25,26 @@ "__id__": 10 }, { - "__id__": 16 + "__id__": 25 }, { - "__id__": 22 + "__id__": 40 }, { - "__id__": 28 + "__id__": 55 } ], "_active": true, "_components": [ { - "__id__": 66 + "__id__": 94 }, { - "__id__": 68 + "__id__": 96 } ], "_prefab": { - "__id__": 70 + "__id__": 98 }, "_lpos": { "__type__": "cc.Vec3", @@ -258,18 +258,25 @@ "_parent": { "__id__": 1 }, - "_children": [], + "_children": [ + { + "__id__": 11 + } + ], "_active": true, "_components": [ { - "__id__": 11 + "__id__": 17 }, { - "__id__": 13 + "__id__": 19 + }, + { + "__id__": 21 } ], "_prefab": { - "__id__": 15 + "__id__": 24 }, "_lpos": { "__type__": "cc.Vec3", @@ -300,117 +307,31 @@ }, "_id": "" }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 12 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 280 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8bOal7c6BM7bRbIOBavNwJ" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 14 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 141, - "g": 141, - "b": 141, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7ebHoEZF9Mcbsj9mMaf8Ah" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b60q3hwLJHFIMhBwr7y6UZ", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, { "__type__": "cc.Node", - "_name": "select2", + "_name": "spine", "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 1 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 12 }, { - "__id__": 19 + "__id__": 14 } ], "_prefab": { - "__id__": 21 + "__id__": 16 }, "_lpos": { "__type__": "cc.Vec3", - "x": -155.012, - "y": 34.013, + "x": 0, + "y": -49.366, "z": 0 }, "_lrot": { @@ -442,7 +363,91 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 16 + "__id__": 11 + }, + "_enabled": true, + "__prefab": { + "__id__": 13 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "36HQq136JBK5m+YVV7HoYP" + }, + { + "__type__": "sp.Skeleton", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 11 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_skeletonData": null, + "defaultSkin": "", + "defaultAnimation": "", + "_premultipliedAlpha": true, + "_timeScale": 1, + "_preCacheMode": -1, + "_cacheMode": 0, + "_defaultCacheMode": 0, + "_sockets": [], + "_useTint": false, + "_debugMesh": false, + "_debugBones": false, + "_debugSlots": false, + "_enableBatch": false, + "loop": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "47Msh3iURGTa/b8Pg+gNzZ" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "5eXW4CGt1KFa15b2D29Kty", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 10 }, "_enabled": true, "__prefab": { @@ -462,7 +467,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "9bmCM8yGpPwJh93tUkSGlr" + "fileId": "8bOal7c6BM7bRbIOBavNwJ" }, { "__type__": "cc.Sprite", @@ -470,7 +475,7 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 16 + "__id__": 10 }, "_enabled": true, "__prefab": { @@ -507,7 +512,77 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "5aHl/SLyRJ/bEPQ9IMRQKv" + "fileId": "7ebHoEZF9Mcbsj9mMaf8Ah" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 22 + }, + "clickEvents": [ + { + "__id__": 23 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "daS8rwzqhEfKfu0nwL1Fqm" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "0bc93vaJLZPuYCc1dTrvyLs", + "handler": "onClickSelect", + "customEventData": "0" }, { "__type__": "cc.PrefabInfo", @@ -517,36 +592,93 @@ "asset": { "__id__": 0 }, - "fileId": "d0SWBphbZPvp+1QNQIvprA", + "fileId": "b60q3hwLJHFIMhBwr7y6UZ", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { "__type__": "cc.Node", - "_name": "select3", + "_name": "select2", "_objFlags": 0, "__editorExtras__": {}, "_parent": { "__id__": 1 }, + "_children": [ + { + "__id__": 26 + } + ], + "_active": true, + "_components": [ + { + "__id__": 32 + }, + { + "__id__": 34 + }, + { + "__id__": 36 + } + ], + "_prefab": { + "__id__": 39 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -155.012, + "y": 34.013, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "spine", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 25 + }, "_children": [], "_active": true, "_components": [ { - "__id__": 23 + "__id__": 27 }, { - "__id__": 25 + "__id__": 29 } ], "_prefab": { - "__id__": 27 + "__id__": 31 }, "_lpos": { "__type__": "cc.Vec3", - "x": 149.179, - "y": 31.734, + "x": 0, + "y": -49.366, "z": 0 }, "_lrot": { @@ -578,11 +710,442 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 22 + "__id__": 26 }, "_enabled": true, "__prefab": { - "__id__": 24 + "__id__": 28 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "05YHNfiPZKEoJ1vmXGyF3x" + }, + { + "__type__": "sp.Skeleton", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 26 + }, + "_enabled": true, + "__prefab": { + "__id__": 30 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_skeletonData": null, + "defaultSkin": "", + "defaultAnimation": "", + "_premultipliedAlpha": true, + "_timeScale": 1, + "_preCacheMode": -1, + "_cacheMode": 0, + "_defaultCacheMode": 0, + "_sockets": [], + "_useTint": false, + "_debugMesh": false, + "_debugBones": false, + "_debugSlots": false, + "_enableBatch": false, + "loop": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "38RgO16elNloVTvVWRM+64" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "49oO7xd6xHa43ATzv+KSQ2", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 25 + }, + "_enabled": true, + "__prefab": { + "__id__": 33 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 280 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9bmCM8yGpPwJh93tUkSGlr" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 25 + }, + "_enabled": true, + "__prefab": { + "__id__": 35 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 141, + "g": 141, + "b": 141, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5aHl/SLyRJ/bEPQ9IMRQKv" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 25 + }, + "_enabled": true, + "__prefab": { + "__id__": 37 + }, + "clickEvents": [ + { + "__id__": 38 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4do2OIrBZBCKeh4y/xs8D9" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "0bc93vaJLZPuYCc1dTrvyLs", + "handler": "onClickSelect", + "customEventData": "1" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d0SWBphbZPvp+1QNQIvprA", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "select3", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 41 + } + ], + "_active": true, + "_components": [ + { + "__id__": 47 + }, + { + "__id__": 49 + }, + { + "__id__": 51 + } + ], + "_prefab": { + "__id__": 54 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 149.179, + "y": 31.734, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "spine", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 40 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 42 + }, + { + "__id__": 44 + } + ], + "_prefab": { + "__id__": 46 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -49.366, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 41 + }, + "_enabled": true, + "__prefab": { + "__id__": 43 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "67dtcAp4lP6r1yPbrIXlCS" + }, + { + "__type__": "sp.Skeleton", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 41 + }, + "_enabled": true, + "__prefab": { + "__id__": 45 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_skeletonData": null, + "defaultSkin": "", + "defaultAnimation": "", + "_premultipliedAlpha": true, + "_timeScale": 1, + "_preCacheMode": -1, + "_cacheMode": 0, + "_defaultCacheMode": 0, + "_sockets": [], + "_useTint": false, + "_debugMesh": false, + "_debugBones": false, + "_debugSlots": false, + "_enableBatch": false, + "loop": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "76DqjTmc1BxL4Ff2W4sV3O" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "75IcONEJZP6YFv2TFLp4Ch", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 40 + }, + "_enabled": true, + "__prefab": { + "__id__": 48 }, "_contentSize": { "__type__": "cc.Size", @@ -606,11 +1169,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 22 + "__id__": 40 }, "_enabled": true, "__prefab": { - "__id__": 26 + "__id__": 50 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -645,6 +1208,76 @@ "__type__": "cc.CompPrefabInfo", "fileId": "a7r3SlmaRABbx87gPa3Cs0" }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 40 + }, + "_enabled": true, + "__prefab": { + "__id__": 52 + }, + "clickEvents": [ + { + "__id__": 53 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fcMC7R3+tBhZkt7YP6CsjA" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "0bc93vaJLZPuYCc1dTrvyLs", + "handler": "onClickSelect", + "customEventData": "2" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -668,29 +1301,29 @@ }, "_children": [ { - "__id__": 29 + "__id__": 56 }, { - "__id__": 37 + "__id__": 64 }, { - "__id__": 45 + "__id__": 72 } ], "_active": true, "_components": [ { - "__id__": 59 + "__id__": 87 }, { - "__id__": 61 + "__id__": 89 }, { - "__id__": 63 + "__id__": 91 } ], "_prefab": { - "__id__": 65 + "__id__": 93 }, "_lpos": { "__type__": "cc.Vec3", @@ -727,23 +1360,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 28 + "__id__": 55 }, "_children": [], "_active": true, "_components": [ { - "__id__": 30 + "__id__": 57 }, { - "__id__": 32 + "__id__": 59 }, { - "__id__": 34 + "__id__": 61 } ], "_prefab": { - "__id__": 36 + "__id__": 63 }, "_lpos": { "__type__": "cc.Vec3", @@ -780,11 +1413,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 29 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 31 + "__id__": 58 }, "_contentSize": { "__type__": "cc.Size", @@ -808,11 +1441,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 29 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 33 + "__id__": 60 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -853,11 +1486,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 29 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 35 + "__id__": 62 }, "_color": { "__type__": "cc.Color", @@ -892,23 +1525,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 28 + "__id__": 55 }, "_children": [], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 65 }, { - "__id__": 40 + "__id__": 67 }, { - "__id__": 42 + "__id__": 69 } ], "_prefab": { - "__id__": 44 + "__id__": 71 }, "_lpos": { "__type__": "cc.Vec3", @@ -945,11 +1578,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 37 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 39 + "__id__": 66 }, "_contentSize": { "__type__": "cc.Size", @@ -973,11 +1606,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 37 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 41 + "__id__": 68 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1018,11 +1651,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 37 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 43 + "__id__": 70 }, "_color": { "__type__": "cc.Color", @@ -1057,27 +1690,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 28 + "__id__": 55 }, "_children": [ { - "__id__": 46 + "__id__": 73 } ], "_active": true, "_components": [ { - "__id__": 52 + "__id__": 79 }, { - "__id__": 54 + "__id__": 81 }, { - "__id__": 56 + "__id__": 83 } ], "_prefab": { - "__id__": 58 + "__id__": 86 }, "_lpos": { "__type__": "cc.Vec3", @@ -1114,20 +1747,20 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 45 + "__id__": 72 }, "_children": [], "_active": true, "_components": [ { - "__id__": 47 + "__id__": 74 }, { - "__id__": 49 + "__id__": 76 } ], "_prefab": { - "__id__": 51 + "__id__": 78 }, "_lpos": { "__type__": "cc.Vec3", @@ -1164,11 +1797,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 46 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 48 + "__id__": 75 }, "_contentSize": { "__type__": "cc.Size", @@ -1192,11 +1825,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 46 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 50 + "__id__": 77 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1250,11 +1883,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 45 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 53 + "__id__": 80 }, "_contentSize": { "__type__": "cc.Size", @@ -1278,11 +1911,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 45 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 55 + "__id__": 82 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1323,13 +1956,17 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 45 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 57 + "__id__": 84 }, - "clickEvents": [], + "clickEvents": [ + { + "__id__": 85 + } + ], "_interactable": true, "_transition": 3, "_normalColor": { @@ -1379,7 +2016,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 45 + "__id__": 72 }, "_id": "" }, @@ -1387,6 +2024,16 @@ "__type__": "cc.CompPrefabInfo", "fileId": "eaGEcQTLtCmryRuIBq4kTF" }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "0bc93vaJLZPuYCc1dTrvyLs", + "handler": "onClickOk", + "customEventData": "" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -1406,11 +2053,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 28 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 60 + "__id__": 88 }, "_contentSize": { "__type__": "cc.Size", @@ -1434,11 +2081,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 28 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 62 + "__id__": 90 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1479,11 +2126,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 28 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 64 + "__id__": 92 }, "_alignFlags": 40, "_target": null, @@ -1532,7 +2179,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 67 + "__id__": 95 }, "_contentSize": { "__type__": "cc.Size", @@ -1560,8 +2207,21 @@ }, "_enabled": true, "__prefab": { - "__id__": 69 + "__id__": 97 }, + "mask": false, + "maskOpcity": 80, + "selects": [ + { + "__id__": 10 + }, + { + "__id__": 25 + }, + { + "__id__": 40 + } + ], "_id": "" }, { diff --git a/JisolGameCocos/assets/resources/proto/GDemo.proto b/JisolGameCocos/assets/resources/proto/GDemo.proto deleted file mode 100644 index c3c13bad..00000000 --- a/JisolGameCocos/assets/resources/proto/GDemo.proto +++ /dev/null @@ -1,12 +0,0 @@ -syntax = "proto3"; - -option java_package = "cn.jisol.ngame.proto"; -import "google/protobuf/any.proto"; - -//测试输入 -message GDemoMessage { - //是否攻击 - bool isAttack = 1; - //是否奔跑 - bool isRun = 2; -} diff --git a/JisolGameCocos/assets/resources/proto/GDemo.proto.meta b/JisolGameCocos/assets/resources/proto/GDemo.proto.meta deleted file mode 100644 index c7ac1452..00000000 --- a/JisolGameCocos/assets/resources/proto/GDemo.proto.meta +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ver": "1.0.2", - "importer": "text", - "imported": true, - "uuid": "c9f4975a-e568-4d6c-af34-98620327eaf1", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} diff --git a/JisolGameCocos/assets/script/App.ts b/JisolGameCocos/assets/script/App.ts index 3245049e..a6ee9111 100644 --- a/JisolGameCocos/assets/script/App.ts +++ b/JisolGameCocos/assets/script/App.ts @@ -18,16 +18,17 @@ import JLoaderSystem from "../../extensions/ngame/assets/ngame/system/JLoaderSys import { sp } from "cc"; import { SpriteFrame } from "cc"; import Loading from "../../extensions/ngame/assets/ngame/util/Loading"; -import { TB, Tables } from "../resources/config/data/schema"; +import { Tables } from "../resources/config/data/schema"; import { JsonAsset } from "cc"; import { GAction } from "./consts/GActionEnum"; import { StorageData, StorageEnum } from "./consts/GData"; import { JAPI, JAPIConfig } from "../../extensions/ngame/assets/ngame/util/JAPI"; -import { API } from "./consts/API"; import { AppData } from "./AppData"; -let APIPath = `https://api.pet.jisol.cn` -let WsPath = `wss://api.pet.jisol.cn/websocket` +let APIPath = `http://localhost:8080` +let WsPath = `ws://localhost:8080/websocket` +// let APIPath = `https://api.pet.jisol.cn` +// let WsPath = `wss://api.pet.jisol.cn/websocket` //重写UI class JNGLayer extends JNLayer{ diff --git a/JisolGameCocos/assets/script/AppData.ts b/JisolGameCocos/assets/script/AppData.ts index a3940011..45bb42dd 100644 --- a/JisolGameCocos/assets/script/AppData.ts +++ b/JisolGameCocos/assets/script/AppData.ts @@ -1,42 +1,32 @@ import SystemBase from "../../extensions/ngame/assets/ngame/system/SystemBase"; import { app } from "./App"; -import { API, NewsContext, PlayerInfoOV } from "./consts/API"; - +import BaseData from "./data/BaseData"; +import PlayerData from "./data/PlayerData"; +import PlayerPetData from "./data/PlayerPetData"; //数据类 (用于初始化游戏信息) export class AppData extends SystemBase{ static loading = "AppData"; - //玩家信息 - static PLAYER_INFO:string = "PLAYER_INFO"; - - get loadings():{[key:string]:Function}{ - return { - [AppData.PLAYER_INFO]:API.GetPlayerInfo, //玩家信息 - } - } - - data:{[key:string]:any} = {}; + loadings:BaseData[] = [ + PlayerData.getIns(), //玩家信息 + PlayerPetData.getIns(), //玩家宠物信息 + ]; async onInit(): Promise { app.loading.setCurrent(AppData.loading); - //加载信息 - let keys = Object.keys(this.loadings); - for (let index = 0; index < keys.length; index++) { - this.data[keys[index]] = (await this.loadings[keys[index]]()); + //初始化所有数据类 + for (let index = 0; index < this.loadings.length; index++) { + const data = this.loadings[index]; + await data.onInit(); } app.loading.ok(AppData.loading); } - //获取玩家信息 - getPlayerInfo():PlayerInfoOV{ - return this.data[AppData.PLAYER_INFO]; - } - } diff --git a/JisolGameCocos/assets/script/Main.ts b/JisolGameCocos/assets/script/Main.ts index d6f1ae64..93348395 100644 --- a/JisolGameCocos/assets/script/Main.ts +++ b/JisolGameCocos/assets/script/Main.ts @@ -19,9 +19,7 @@ export class Main extends Component { director.getScene().addChild(instantiate(this.UIPrefab)); //加载 APP - await JNGame.Init(app,[ - {path:"proto/GDemo"} - ]); + await JNGame.Init(app); //发生帧同步开始 app.socket.Send(JNSyncAction.NSyncFrameStart); diff --git a/JisolGameCocos/assets/script/battle/base/attack/GAttackParabolicBangRemote.ts b/JisolGameCocos/assets/script/battle/base/attack/GAttackParabolicBangRemote.ts index 081fcb57..cc298fd9 100644 --- a/JisolGameCocos/assets/script/battle/base/attack/GAttackParabolicBangRemote.ts +++ b/JisolGameCocos/assets/script/battle/base/attack/GAttackParabolicBangRemote.ts @@ -39,7 +39,7 @@ export default class GAttackParabolicRemote implements GAttackBase{ return; } - console.log(`播放动画[GAttackParabolicRemote]`,role.nId,enemy.nId) + // console.log(`播放动画[GAttackParabolicRemote]`,role.nId,enemy.nId) console.log(role.spine,bone); let bullet = GAttackBullet.create(GButtleDefault,{ diff --git a/JisolGameCocos/assets/script/battle/base/fsm/GFSMAnimBase.ts b/JisolGameCocos/assets/script/battle/base/fsm/GFSMAnimBase.ts index 1ace5e07..e8c0e08f 100644 --- a/JisolGameCocos/assets/script/battle/base/fsm/GFSMAnimBase.ts +++ b/JisolGameCocos/assets/script/battle/base/fsm/GFSMAnimBase.ts @@ -151,7 +151,7 @@ export abstract class GFSMAnimBase extends GFSMBase{ //播放动画 if(!info.track){ - console.log(`${frame.index} 播放动画-${this.spine.getComponent(GObject).nId}-`,info); + // console.log(`${frame.index} 播放动画-${this.spine.getComponent(GObject).nId}-`,info); info.track = this.spine.setAnimation(this.trackIndex,info.animName,!!info.isLoop); this.onStartListener(info.track); } diff --git a/JisolGameCocos/assets/script/battle/base/role/GRoleDefault.ts b/JisolGameCocos/assets/script/battle/base/role/GRoleDefault.ts index fc70dc0b..e09f0ae7 100644 --- a/JisolGameCocos/assets/script/battle/base/role/GRoleDefault.ts +++ b/JisolGameCocos/assets/script/battle/base/role/GRoleDefault.ts @@ -120,7 +120,7 @@ export default class GRoleDefault extends GRoleBase<{}>{ //攻击 onAttack(){ if(!this.fsm.enemy) return; - console.log(`播放动画[${this.nId}] onAttack`,this.fsm.enemy.nId) + // console.log(`播放动画[${this.nId}] onAttack`,this.fsm.enemy.nId) //敌人扣血 let info = TD.TbGRoleAttack.get(this.role.id); (new GAttack[info.attackWay]()).attack(this,info); diff --git a/JisolGameCocos/assets/script/consts/API.ts b/JisolGameCocos/assets/script/consts/API.ts index 80838e1c..f8cc3505 100644 --- a/JisolGameCocos/assets/script/consts/API.ts +++ b/JisolGameCocos/assets/script/consts/API.ts @@ -34,15 +34,25 @@ export interface PlayerInfoOV{ playerCreateTime:number, //玩家创建时间 novice: false, //是否过引导 } +export interface PlayerPetOV{ + petId:number, //宠物唯一Id + petPlayerId:number; //宠物的玩家Id + petTbId:number; //宠物配置表Id + petGrade:number; //宠物等级 +} export const API = { UserRegister : async () => RData(await app.api.post(`/user/register`)) as UserVO, //玩家注册 UserLogin : async (account:string,password:string) => RData(await app.api.post(`/user/login`,{userId:account,userPass:password})) as UserLoginVO, //玩家登录 - GetPlayerInfo : async () => RData(await app.api.get(`/game/player/info`),false) as NewsContext, //获取玩家信息 + GetPlayerInfo : async () => RData(await app.api.get(`/game/player/info`),false) as PlayerInfoOV, //获取玩家信息 /********** 新手引导接口 *****************/ SavePlayerInfo : async (playerName:string,novice:boolean = true) => (await app.api.post(`/game/player/info/save`,{playerName,novice})).data as NewsContext, //保存玩家信息 + SelectNovicePet: async (petId:number) => RData(await app.api.post(`/game/novice/select/${petId}`),true), //选择新手引导宠物 + + /********** 宠物接口 ******************/ + GetPlayerPets: async () => RData(await app.api.get(`/game/pet/list`),false) as PlayerPetOV[], //获取玩家全部宠物 } diff --git a/JisolGameCocos/assets/script/consts/GData.ts b/JisolGameCocos/assets/script/consts/GData.ts index 8e82dee7..6173ea9d 100644 --- a/JisolGameCocos/assets/script/consts/GData.ts +++ b/JisolGameCocos/assets/script/consts/GData.ts @@ -1,5 +1,9 @@ import { sys } from "cc"; +export enum UIPetAnim{ + std = "std", +} + export enum StorageEnum{ Token = "Storage_Token", // Token diff --git a/JisolGameCocos/assets/script/data.meta b/JisolGameCocos/assets/script/data.meta new file mode 100644 index 00000000..3b74fcb7 --- /dev/null +++ b/JisolGameCocos/assets/script/data.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "0265ac40-ac86-4146-990a-88283cb5ac58", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/script/data/BaseData.ts b/JisolGameCocos/assets/script/data/BaseData.ts new file mode 100644 index 00000000..8a40f4eb --- /dev/null +++ b/JisolGameCocos/assets/script/data/BaseData.ts @@ -0,0 +1,11 @@ +import Singleton from "../../../extensions/ngame/assets/ngame/util/Singleton"; + + +//数据基类 +export default abstract class BaseData extends Singleton { + + //初始化 + abstract onInit(); + +} + diff --git a/JisolGameCocos/assets/script/data/BaseData.ts.meta b/JisolGameCocos/assets/script/data/BaseData.ts.meta new file mode 100644 index 00000000..c59152b6 --- /dev/null +++ b/JisolGameCocos/assets/script/data/BaseData.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "3cace79b-36b5-4fd4-acfa-88a4b210e3ab", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/script/data/PlayerData.ts b/JisolGameCocos/assets/script/data/PlayerData.ts new file mode 100644 index 00000000..8acc17c1 --- /dev/null +++ b/JisolGameCocos/assets/script/data/PlayerData.ts @@ -0,0 +1,21 @@ +import { API, PlayerInfoOV } from "../consts/API"; +import BaseData from "./BaseData"; + + +//玩家数据 +export default class PlayerData extends BaseData{ + + data:PlayerInfoOV; + + async onInit() { + console.log("PlayerData",await API.GetPlayerInfo()) + this.data = (await API.GetPlayerInfo()); + } + + //获取玩家信息 + getInfo():PlayerInfoOV{ + return this.data; + } +} + + diff --git a/JisolGameCocos/assets/script/data/PlayerData.ts.meta b/JisolGameCocos/assets/script/data/PlayerData.ts.meta new file mode 100644 index 00000000..9b2da778 --- /dev/null +++ b/JisolGameCocos/assets/script/data/PlayerData.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "58cb2be1-1279-405e-8c89-17a35ca0cd6d", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/script/data/PlayerPetData.ts b/JisolGameCocos/assets/script/data/PlayerPetData.ts new file mode 100644 index 00000000..55e6635b --- /dev/null +++ b/JisolGameCocos/assets/script/data/PlayerPetData.ts @@ -0,0 +1,39 @@ +import { API, PlayerInfoOV, PlayerPetOV } from "../consts/API"; +import BaseData from "./BaseData"; + + +//玩家宠物数据 +export default class PlayerPetData extends BaseData{ + + //玩家宠物列表 + datas:PlayerPetOV[] = []; + + async onInit() { + + //更新玩家宠物 + await this.UpdatePlayerPet(); + + } + + //获取全部宠物 + getData(){ + return this.datas; + } + + //更新玩家宠物 + async UpdatePlayerPet(){ + //获取全部宠物 + this.datas = await API.GetPlayerPets(); + } + + //选择宠物 + async SelectNovicePet(petId:number){ + await API.SelectNovicePet(petId); + //更新玩家宠物列表 + await this.UpdatePlayerPet(); + } + + +} + + diff --git a/JisolGameCocos/assets/script/data/PlayerPetData.ts.meta b/JisolGameCocos/assets/script/data/PlayerPetData.ts.meta new file mode 100644 index 00000000..238f4975 --- /dev/null +++ b/JisolGameCocos/assets/script/data/PlayerPetData.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "405fd125-2ba1-48b5-bc15-7f6e14569271", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/JisolGameCocos/assets/script/ui/Home/HomeView.ts b/JisolGameCocos/assets/script/ui/Home/HomeView.ts index 0faa7c03..c6f908c7 100644 --- a/JisolGameCocos/assets/script/ui/Home/HomeView.ts +++ b/JisolGameCocos/assets/script/ui/Home/HomeView.ts @@ -16,7 +16,6 @@ export class HomeView extends JNGLayerBase { frameText:Label; async onLoad(){ - app.layer.Open(GUI.Tips,{text:(await API.GetPlayerInfo()).msg}); } update(){ diff --git a/JisolGameCocos/assets/script/ui/Home/MainView.ts b/JisolGameCocos/assets/script/ui/Home/MainView.ts new file mode 100644 index 00000000..9da22dff --- /dev/null +++ b/JisolGameCocos/assets/script/ui/Home/MainView.ts @@ -0,0 +1,29 @@ +import { _decorator, Component, Label, Node } from 'cc'; +import { app, JNGLayerBase } from '../../App'; +import { sp } from 'cc'; +import PlayerPetData from '../../data/PlayerPetData'; +import { GUI } from '../UIConfig'; +import { UIPetAnim } from '../../consts/GData'; +const { ccclass, property } = _decorator; + +@ccclass('MainView') +export class MainView extends JNGLayerBase { + + //宠物 + @property(sp.Skeleton) + spine:sp.Skeleton; + + onJNLoad(data?: any): void { + //显示被选择的宠物 + this.spine.skeletonData = app.battleRes.roleSpine[PlayerPetData.getIns().getData()[0].petTbId]; + this.spine.setAnimation(0,UIPetAnim.std,true); + } + + //点击回到之前的主页 + onClickHome(){ + app.layer.Open(GUI.Home); + } + +} + + diff --git a/JisolGameCocos/assets/script/ui/Home/MainView.ts.meta b/JisolGameCocos/assets/script/ui/Home/MainView.ts.meta new file mode 100644 index 00000000..f7ebfc15 --- /dev/null +++ b/JisolGameCocos/assets/script/ui/Home/MainView.ts.meta @@ -0,0 +1 @@ +{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"b51bf2af-b227-4d3c-a05b-162ac0160408","files":[],"subMetas":{},"userData":{}} diff --git a/JisolGameCocos/assets/script/ui/Loading/LoadingView.ts b/JisolGameCocos/assets/script/ui/Loading/LoadingView.ts index 0f1ef5a5..ec7bee35 100644 --- a/JisolGameCocos/assets/script/ui/Loading/LoadingView.ts +++ b/JisolGameCocos/assets/script/ui/Loading/LoadingView.ts @@ -35,7 +35,7 @@ export default class LoadingView extends JNGLayerBase { await NoviceManager.getIns().onStart(); //关闭加载页 - await app.layer.Open(GUI.Home); + await app.layer.Open(GUI.Main); app.layer.Close(GUI.Loading); } diff --git a/JisolGameCocos/assets/script/ui/Novice/NoviceManager.ts b/JisolGameCocos/assets/script/ui/Novice/NoviceManager.ts index fd74b220..796488c2 100644 --- a/JisolGameCocos/assets/script/ui/Novice/NoviceManager.ts +++ b/JisolGameCocos/assets/script/ui/Novice/NoviceManager.ts @@ -1,5 +1,7 @@ import Singleton from "../../../../extensions/ngame/assets/ngame/util/Singleton"; import { app } from "../../App"; +import PlayerData from "../../data/PlayerData"; +import PlayerPetData from "../../data/PlayerPetData"; import { GUI } from "../UIConfig"; export default class NoviceManager extends Singleton{ @@ -7,11 +9,19 @@ export default class NoviceManager extends Singleton{ //新手引导执行 async onStart(){ - if(!(app.data.getPlayerInfo().novice)){ + //获取玩家信息是否引导过 + if(!(PlayerData.getIns().data.novice)){ //如果没有过引导则打开引导页面 await app.layer.OpenToClose(GUI.NoviceNamingView); } + //获取玩家信息是否选择过宠物(有没有宠物) + //如果没有宠物则弹出让玩家选择宠物 + if(PlayerPetData.getIns().getData().length == 0){ + //没有宠物则弹出选择宠物页面 + await app.layer.OpenToClose(GUI.NoviceSelectPetView); + } + console.log("新手引导结束"); } diff --git a/JisolGameCocos/assets/script/ui/Novice/NoviceSelectPetView.ts b/JisolGameCocos/assets/script/ui/Novice/NoviceSelectPetView.ts index a1fed136..793fffbe 100644 --- a/JisolGameCocos/assets/script/ui/Novice/NoviceSelectPetView.ts +++ b/JisolGameCocos/assets/script/ui/Novice/NoviceSelectPetView.ts @@ -1,9 +1,83 @@ -import { _decorator, Component, Node } from 'cc'; -import { JNGLayerBase } from '../../App'; +import { JNGLayerBase, TD, app } from '../../App'; +import { TbGGlobalEnum } from '../../../resources/config/TbGGlobalEnum'; +import { _decorator,Node } from 'cc'; +import { sp } from 'cc'; +import { UIPetAnim } from '../../consts/GData'; +import { Sprite } from 'cc'; +import { Color } from 'cc'; +import { API } from '../../consts/API'; +import { GUI } from '../UIConfig'; +import PlayerPetData from '../../data/PlayerPetData'; const { ccclass, property } = _decorator; + @ccclass('NoviceSelectPetView') export class NoviceSelectPetView extends JNGLayerBase { + + //选择宠物的节点 + @property([Node]) + selects:Node[] = []; + + //可选择宠物的列表 + petIds:number[]; + //选择index + index:number = 0; + + async onJNLoad(data?: any) { + + super.onJNLoad(); + + //加载配置表 (找到可选择的宠物Id) + let info = TD.TbGGlobal.get(TbGGlobalEnum.SELECT_PET_ID); + this.petIds = JSON.parse(info.args); + + //显示宠物 + this.selects.forEach((item,index) => { + //获取Spine组件 + let spine = item.getComponentInChildren(sp.Skeleton); + //设置显示的角色 + spine.skeletonData = app.battleRes.roleSpine[this.petIds[index]]; + //全部角色播放等待动画 + spine.setAnimation(0,UIPetAnim.std,true); + }) + + this.onUpdateView(); + + } + + //更新UI + onUpdateView(){ + + this.selects.forEach(item => { + item.getComponent(Sprite).color = new Color("8D8D8D"); + }) + + //被选择赋黑 + this.selects[this.index].getComponent(Sprite).color = new Color("#000000"); + + } + + //点击选择 + onClickSelect(e,data){ + + let index = parseInt(data); + + this.index = index; + + //更新UI + this.onUpdateView(); + + } + + //点击确定 + async onClickOk(){ + + //向服务器确认选择 + console.log(await PlayerPetData.getIns().SelectNovicePet(this.petIds[this.index])); + app.layer.Open(GUI.Tips,{text:"选择宠物成功 欢迎来到宠物世界..."}); + //关闭页面 + app.layer.CloseNode(this.node); + + } + } - - diff --git a/JisolGameCocos/assets/script/ui/UIConfig.ts b/JisolGameCocos/assets/script/ui/UIConfig.ts index fae4206a..7a5ce030 100644 --- a/JisolGameCocos/assets/script/ui/UIConfig.ts +++ b/JisolGameCocos/assets/script/ui/UIConfig.ts @@ -18,6 +18,7 @@ export enum GUI{ NoviceSelectPetView = "NoviceSelectPetView", //新手引导页面 - 选择宠物 Home = "Home", //主页面 + Main = "Main", //主页面2 } @@ -82,6 +83,16 @@ export const UIConfig:{ [key: string]: JNLayerInfo; } = { backInfo:{key:"position",start:v3(0,0,0),end:v3(-720,0,0)} }, }, + [GUI.Main]:{ + layer:GLayer.View, + uri: "prefab/ui/主页/MainView", + anims:{ + front:JNLayerAnim.Enlarge, + back:JNLayerAnim.Smaller, + frontInfo:{key:"position",start:v3(720,0,0),end:v3(0,0,0)}, + backInfo:{key:"position",start:v3(0,0,0),end:v3(-720,0,0)} + }, + }, ...UISystemConfig, //系统页面 ...UINoviceConfig, //新手引导页面 } diff --git a/JisolGameCocos/config/GMap.xlsx b/JisolGameCocos/config/GMap.xlsx deleted file mode 100644 index f8ab06b7c3ac406f2cc6704b83f3a9ee7c7ad4f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11531 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 Isz>er1Cd`AMgRZ+ diff --git a/JisolGameCocos/config/GRole.xlsx b/JisolGameCocos/config/GRole.xlsx deleted file mode 100644 index 41ed5c282ea16e90b45578124afad1bc7b7c9520..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11447 zcmeHtWmp}{(k|{U0Rq9@-8Fcyg$4`m?(XguJh&4af&_Pm5C{<5-QD3^B-8P(S$VxH)fziMGjp_DWM#8H%t)Q@tX)_qotRMr4@T+4^Y2D;&eCOCzuFiJ?i zackyM1l~xU=pmm!yIQfH2)G|FASXUWy>FX6{Z4TmXDDIawU|(hhtVVvk3cj>FXx+0 z*$~{Pk#?7;JOp&*2=*xz1bq^AfDL*>fZd34F}&4+e1&aK4~aH7J}Pquq$>UAjRw$L zWjPV|JPf{Sw{cha7%*WZNJ?`?M9Rle^|8R4v)6Mtq~XJd)EpC9&i#ow=9fEV1GhTw zriEVBy&TP4-B{f%cs2P&sfGrWGBi);HF$l#EdQc5|B@C7FD2XF(B~@n`WgEuRgLA1fo( zC5RGqQYP(gL8wBp^{khIeT!t*Qprz zrLW$?;5aSkFty@JaqPsuh;%GlB$;&NTg%sbzdTMHb^=y4pi0(!0uTMAdGhNc<_tCa zT#B3X%XF(mk50KP^g3(BYn32TwII&(ZFYKIKgq)$q2_a&0HzUB`JN94JP>Pm1t|Su z4U^X4vsF<}Y!M8-yR;!TpCjt*L#5kK^JHX&_X-61g^w+) zwanF|Cyx|*nV6S*U(4euL<5%iCMj0p#+EF`Jj%`(YLK6i{bx@D4n)?);)jpj1IV(7Cnp%b6j%hqb+%ON}=y1U>XkB zBpgKH&FQIiU)f$ZS3ljJJq~r&y+Jj)V_d<}m^mu_)VBC|J2aAl#jp{}r0W}8syQQ0 zbh_c9DJGs6v=OpJ>z@M7Fb-&M>p5!}hJSIGFP|Dg5ygUAsGBx3*j1f%y&NozS49^s zOEnZ=r%*|X(cZ?}>#FANKKK6qAp98N^OT1=M!i|V$<{5Omnj}*^ExzBmp{W|O&O-6TN{LFoke)gK zgj`x1;juHeUAsHJ(XgBQuy18|^V{eQOV|u=edsD($?EFqR?EQH5bYUo)zWl@0vb%=;paE~3#1L8rD1^s1Sb&OMkQ1yeujD^j5N+VK+#XU*}7@zNOY_8wZ!}0np z+13yqY`NJU<_{9UnSViAp+d#YxJN(gL4DCqFhZ`_lyN=!rHx4%)hMf)_%q!|h~>$9 ziPZ>C{R&!83YxjTWmGvrwENm|?2>PF^3&`MSbR!W908>mS*h7<#Qwa#U5Pjjq_k(qvd?@wbvUe{c|EN$ zo)lh^aQDa;Owq;Y`x~Q^cS1&< zi0eGNHLt4nNa%S#Ib@T15ij&MO4c_ud3L`pY}_FMdsTHnGB2B)4r(VKn+QB>MC(C> z$)tK3qt-N=i!DpH%E;~ONd_Z9$CV8cI~si`WfouRo8V#eevh7w;BlC`@CZN2hcHmU z1z#t|g`JsTuiYvXb_el{k3(($ z6u}MOT)w4&<2cj-vNI)&Sj@7!e_qaaBm=F4De)1&LCv6`ag|zEUOGt??&&r0a;$r= zbB~pFpw^c9OeO0w1YffDx`c%4%qedQICq@>YhE1s)lK-L?970jf_2|4WSXWSZ~t6j z3j8Z0iH210$xz;#oI)-iKMF2DWXCedZuq+3WOfH=f6BVxz~XZId8(r<|b$bzz?cV)bJgrLBQ!krjbRW3%2*|#B zUP=Ky=|2gM!fTVC+A@BzI*h=Ns&F@a3S4FsybA|qyNMCvmx2syB)iWW!osYI z;tUGZ-`!h6~bcl0woFRd3U~0!eEFYbikcLi3CCm(=icJ zGQF^gx{%x{mH`D4)~Fl<-@o^1cidBpsD9!0+Iu$p5;2s#44MDjbVO(U23KrG8d3RBnR zqjykOLp)K1GVqNwU-tGqcY|9d_LWABdkn;5smXE0Jw-)069i;)Yk=AR3$`}AcR+}O2uOuI8^5v zsAaZLsJY~0>&_(- zE=&}CG9I5n3{{o2S_wYaSb#9f$`L->4`Nw@m$(a|H8zB2<>qF>_{zQ`?SLx7+zqX_N8ZLe$9#6OaUQJHF%gk?QG&FmnW- zWsT)2Wxv>;{NKMTEdT#q`G5Ic`RADU`R_R}Xm&6$v^4w?I{$J%+==kWQ;^7axoWWKmy`gW{ye4-l5OB;4!eDtRJ3$k#D1su;8mIl7`*x~%&zTJ9JWgGNJR z;*A%wyb50s#s%``sLdm0L_EX2``Xt4 z4_-Mt8NhU@F0OD5EHA`|W6-!@oXCGik*{y{i4F3BdgO}A6x+Mk}wQu(Fe}M9(>8AmTCw3adSfzB2LNN5j{XdG z2zPoL7dLpX>=VYuF85T^mTBwg79Z{p1O&VSA0H12ohw>t$lvuz;XYkXS1diAY~9Uw zv8$uHojvT;x3zhlb#ZtQ3K2eI>PqQk8VGrP`zjN4Rc*okO?pGdSAfkx zAsk=fHjJXRM6bgt#`xfNKtW7WU^HRgZ0N`gi$iyc^`xiWA+fH8&L)un`7rDnQwB}i zt!9+%;J#0$Uc$9R)C=NIw&2Bt6HK~zh{VMCUp8ZXF4QHxL3UTUnB0aFkiB{rUgcyGA#={99va7U?zC#cWcb<4#;ZW) zEDZ-zB=rUGT=1w@Qjv=p3QoWJENkji?1aTKUts3WxfG>!_lgI#tw4bQZg+u!!u+-w z@rpocgFnMK8rC9Ur2JeyULefwxD9K=(*5Q#-zC45aQOEAZCcexD9?i1a)v^$m{~`E zF{`l^EFZKP*M#RObj7jY&B-#1B=}u3d@4F z!;4w0Wi(BC#?I10mn;kUZCPJT4YWksnRU8sXrhGX%>i7BlZ5KVW*lQI6Q49WC$XX9 z?$?sB2CH(Ol6dZO2g*TJRn}SOrM}gI&rnT{mO3eA7_`Dz3t6?(0dcUli--j_+Q9-7 zcxK|eU9?6_9_MfglKDb}0z7gh!!E~FEKIlL7$;RS!L8z z4vsAkOW?RG%1Q#aL_|ZRF}b9!Pi;8;h+<+^gxyCgXEP&j!NjmEHb}$0Ssdnjp;V3o zW)_%d5%6A>LzSmUmZPjutV7p)x@BHMd=za&`HO>+sIyF47#9oeT)R50_0&3@$`Fch z(l7(=#G0=aIn zm-&tpot1L*u`IMd$L_sOy;dzF>$?mZnYuP1AJ}4Jyaq9GMrCJgflE9IsqxtlMq`p|WAGROdez2^6YuEIy z$#Uda{v+9!Mssvr1XuSGf&COdZ^GII-6iXOHxEfTuNy09dg^M7qA3R+o#|IQ8soLr z+D$60BrQTw-p#&WT5l$@_u8sZJ-+g^+Kb0Y#ZnHxl{rNWdA!=Swejg0z7NPBy~oz< z&kIOYB93oVll|UDZ!>Q_pKP6%u`ZBHd!g0sxj8*H`fX{8QV}kqdjd5ZOU&tBw(;sg-&cmE1m?7(g+Y0uX-0&E3K(A#Ve z#D>--$;_LowxBDF;^fFw5wDS}=$rINsdA{j8j>0@ zb*!l_2?bc~4YS>))PIJpEsVi2aB53vAd4ZKd4 z9;S@6T=X-K7+HE&Uphr7uQ5uSe`+bOH0{yr3cUf%etvQHdl`8B zlHGD8hP=p90NND0E=~>6U2r7=j*MF{`0A?!4+&7pSPfwu9I7IIrSu4hESEfIv9R|3 z9(F%a;v*3SH)=`WMySfP9K~pSqL`f9lzIq`qS(Zz()eUhN?`#7F_I(DajA8%2 zK%d~;{RO$pkiBQg!GtBVA)pm=;kDD3Yo`zUoF?Fbm=@@qhvdrn?&ReG9|3Jx!8zEn z`Ash60g8@|OxtgY!cvK)Yw}oo2p^XSE-&f6f7|NitQlTK}b3K zSf+kd@EFdo!6c~}cx87gj8U+#P% zSoIb@kGL25Aft8e-Ko0d(>wgc}W6>N#%NKD}=RrN)5s)ew7<)YojbrDW5hl<|q! zNt&+orHPs?^zn(Dt37mlsza+&_yJN1wD75+m5DuNe3Yxycv#<(eyro20B@EW+L|Lr zxd1Oy)eW`K;?2N|x!U}!KXEx`{iP0FxQ08Rn+>Q7xD49|If*9Ddo`=rIds@T%&YEQ z@y_Jt9rt0_^h!3S7)`H<0`Uwx$*vAHwQ6+X9ZmzAXE!_-Yp4uUMGQ;2?S~;8(A{zM z*G0LXbEM8*FG{U?xW3SiVG+g9fjQV-zOwHQdEXD-j_7*6KeIkCckC36!Z!Xm=Cn*y zk1fmsfqdkBvAVL&(U#$L+!PX#Co3kF87LJe^LS=(zMq5&Dg;N8CD%d2QV9=C^*6Z-MY_%xD_Y$yS;<$bvf!#1Z%=R5Gp|6`atosi2)sF6w^*PwT>6u1B)^AD zo^s?Nn$qLq(~SAQa8cAA4(f|0@0N39!o^n{gT^!=VWhB1qDH2bfhkq0=(gAv^wXtv zc`sT0HQz0;YQ+{h`UCv1Yr>$4CInNg}> zWaqV`dA;Ct`#jy--}dd+1x0!DJXR6atQ~!YmLR-cd1pQ2 z{4TTFq<=rT^_+IwOs((n1Gq~DRBL{=F~@r5(ZRQf1wO@vq9o^C+(sj1_K3mJLore7 z!~MflF*Q04Z_rpGhL_D=rQ2BUGCDJqI34iNy4H0$+60`(%t8#T>`IR>nxbEbDc%$T)19Hfbmwyx0+?^GH_^2-G*EP~Gqp1Q5pO2E zmz3&e#C|T5X0Ml+4FK3bD@k5=5|btyY? z6k6X-O$vfii`8f>8@G=Mxi8wFp`We5VnnHW|JB5jgLwX=$>AG}q)r7jBdC(Du=Hw} z0)vtu<;}vJls@a#v)o{}6~ zC0I(S_1^cromC`rWE)2~JOID%m8bJ3+qc6BSVQ_`13cI?pWf_b5h#LDPiq!=zRAo~ zNm6`MsvpKujG1>1PW#Si%Q#%@Lw)*`H3VY3jOmUhUo`QDBmmRgG#h0z)u-ZQVbjal zGDJozDUi1Vl%Z>qN=(@%dyE`UCu5>Sb`6s^*6=;jJ{tU3hhe;SCQ99?my&2iNk=kbV@2^8Mq=%>8D{2rxt z?7JxqMHwAM74K(%ycA}1V1(6DvS_o|w1c=hL%hrD|J4D5KTP(f7sWdOPb}A#87XFo zfZ-0}f3K_qYvLf zTIG*DTvQkQBuZN*!CjSXIw6{NPxbBs{5N^yXX!~}-+3sEF$eQdy*K^3qXZDl(b0$2^6iuGpV17vu67O6wro1knt1DkKGtv~LKF7u`23V>SyzfpceIGX zjPUo!{oaOhAqoY>^~KJSf9S~hO>k+M5gnqaW?-^n*!+fOn=NfhpQbE97+KcHjo`$@ zR%b`-SB+0Y65Ih~IeSl}%zfSKiLU%?+7foBbS2LJJC^@Sxc(EIgx7~ScR(1w0Uh8= z;4jbt{v>-p+^TOGp?c^_7$x6}4@SYW{{6zw8czZ+>MyHY=t(SbyWkan=EI%ZI? zik5v2_8!??AKQT%bLW63?S%`u6v78KoK{ax#mIj2zI@TRL}_*@#+^vrakAv~UdE*4 z^L+-Rw%aONRu0-qt~Q4D@1DI&ZTyf`=W}aQ!Yy)a zJth;N_#-t~IDaCY!VYx9Wq?RGvMWMh+flb584Be1m<(xOhWnwW090;%c^sq*ZP|b- z!$CDf#HWv}6A_-$THIH(9fT2R32ZS{n1r~96%|nL6Tqd5W_5bQQ0Bq6DB;Jz6!+T4 zq^(+B_y&0mrpK@_K`tIS9W{I+_km3Zm{+bW!`d-bygqHtTQaA>r#2W^bJHCeOtvYf z&WBl#XNZ{1bzl#Or(SzW`zDyf!2iTQz-`mHz2Go1=Oo|HfY!qWGu6VzaO1m1a2i5> zpEA<-Pp(>T2qQliz$g@HsAO?Rk#+>5dGQh$O6_HHd3=z6w~)-)r{ie9snx|imfu=F>)fEK}-Y2WXLEPP438_cx4yFW--ik0RgAlq=seP?}n%jrc9_-ri zVSi#)&HTI9Y`oh?QPa`oKDyVlo*zw@F3MvY+bHM9#Gg8S?3B|EBEuYyCN%l|7HY^)mjh@6T?=XX2mwDE`j&uinN#A^NjJ?-zG0@b&&n>A(B+ z{$&5N!|WG33ecJSV*jh(?7uxUkmFzD`Jv4q{?%6X{J8&YlHXB6A^V%_`g5ay`nYFB zKT+cNJKKMFyg%jq87%&i!%q0mq2r$t{>*Fsk}!h#Q^H?a&i@A1@6VnI3~&Cbll`gj z&w|=7jlF+o`&C~1Q^22b)Gq-j#6R@@9k&0r>E}+kpX1rW;Xf_>TVLGo@AjXaanHOz ztycdZyubS7{@nhb{S3dPhy$YsAZ&lz!4D}vx*Pt_rPu@0)BhmlN8KAB1^L5qpaYMI M_rN_PQ9f(`9|$D&~=;&VfFm`R!n_`rrcd}Hkgy)3|?X#6J zqI4-VR9_+$N-xjoh=q&f5_eJ;2xrKD&IxCD&IjLC*tMB1rn( zYl?xWnQvDO{bPlRl7hU84mJ1(=62+7Gzmf%b=0HTa;ha7=@p-8#oJ+SW37ncH|mQv z!ikt71$(s7>|DTm_j##@d}uFmD;&7;6Lo*YxPkgz(>LTwq+k`gcw118ohT zRP7PVE!|Cz9q2@Ih~gsi>Ix<_J`XKRTJdcTY>&~b_Iz+ph=sshOh7VRPZ!(@*aFND zvvn*>9ynm`Xs$%G<})6k>h61g_B*h{=RMR=%c6CTj;n~ zvdit1M@t;qw^O(~b1T|ufZ<=+j_q)1yq0Wt(C$Pnni z8N$KN9%%Vwiu@QUiEciWz$4#B-C4I9e1N5VY#f;>9~ZfbU3}H-2cLbbuZxOd*UO8t zrOwAWg}OY07p2%8G3Jw0$#2*6VH*uf4mNoLWSWP<2OmFK zmJ~t;_15{?^rVqOPZRSBuWPwi@=>zO+*5B>W5<^*#@)-$=xULlH2cp! z2Lhy7XNw=+=AQx2e*&CkLo%By`xK`Er`YJR}1=g z3kZIdylsm4SHp7^D;IrHM%hQz9N(IAJm;>xzPmi?9=N3s>}o2XrdZy;o4&yZdVb%$ z?U@HI`T$m+2`pOP`=N{|q1fN}D5W;7^~t&Ck#Y^Nj`a^fh)cXA;n^2cM= zRbp4D!NV*cg{3W?+^bZpk;f*)Cxd-o%r<^?9ZX@DNQ>h2o7N!+p$kcPq9jv zX@%GK$x-U)x%>*JwP;9m2CUe8?r!Rrx~KW9G+6zp&Z7Ny(w4Ga&3eUf^3DU`>h(9WoMZLek8G@xGfcYv!z$g{rF6{d~_= zjRwZpK7yddy$CJe+RWMxLEa{0_<{OE`jmW>B!aly{PBFZ1}?sdQqpFIUT+z30*`H+ zLWta2J?e19-Mb3-2k0$6x{w<;l?=C?GrIBy{kwgYP#U^N3dc1tiRj^kvjEmiwT zKpM${&)m>v-!|&nA9Q&y&L?oqyz&I92COR7Jx{ZqWrwlwlr_&8Z=$ht z&0aqrM*O->8Avn)xPBiAU29K&>yEAkGnP~#vLKB*fnA+WwDl6zTbu?{@WEdZuROnx zBO-1103#+Gb)G^m8e46f z$S!*K+OV%wn;tUe(g!zLvg9{a55w-pGDVo!hmSy>B5J2L!7*f=TzB9IV1f5r*piBe zxlfB~J}1HkSM@|apJ}sUW&@NC@htF_8|MP=Cr1kj%8(9bN~&z+;W3XDWuelH$Ov6? z#P9;l&OKb%hY2o^#+ZRuIL7iGn?a1l){O4~45N8-UC74rt43t{25Dm7=rj78X!LC^ zEpe=EG{rIK|1Hi;PEG_)_;zI*g^bD~fhi+eh&r3vD zqMq=+_&z`4jMTA^M}f$E;fS>*3yA^Vql!7)8A{@t4NV5$p-bZ1Ifw4sNx(hAdDrXi ztN~W}VSoA+PIvVpz+ats#Syv;vNTnUp zQ#@4`eLI5>^(O&(ujESfm?$D*0HoDTdhZ;1dv@QZ)v=-JIS`IY^OaTfC~3k~H=!86 znh9#au8eoXK($u6m4klm{vY9X$~pJqI1t zSgDGD1J%Y6JO>?%_6=>Yv|yU%vxyLdM06~{H$JA`dLBgg(Hm?JE$> z>2KEbhki9i0ZAr11Yg^S>|v>PtP5dY%=&g!9=FZYqiR^#<3bD?nZ5R|t+x2S6=)~~ zbF2;y4RI#gJ+qi72dPc_sc6l(Yy0rQ4>Fn$K}T{Q$OwFtk>o_rV<9=ngOxA>Di}iF z<`9yOXZxBAlH0qWA*+aTD}nb@e!=m-?MlOgYNr$LoO?JXYnv0+h1aI|8g{(^w+-2e z(B%f`X*v~fhd@3fkyM+`iIxP0z= zSeHg7kxC>DAc3v#_SQS7uO*tSMj8AIu6CTI%*n>YC&ch>Wm8yrt)s!l|SbrDztLEa@E_qhVh=)Yn=n4w*uvw z*d{@z0xh3ECAi|9r-^A?#G?b5K8_pLonlvoCcmX}HBHnU?b+ANRMzx0C6(#WwWun3$&K)4bdc4xBr)8F+=X5bF zpmbbGEIp|BP@aus>^8l41#L5f*_H@3#)*P0ySR~@w~3RWBbifme1%9Z-P3z-$vZwX zNQj&fFFV*8BEjTkk7I7TPLitSwJNasrhb_ZxF?Efn=ek2&X8^!5Lk3>sO)65H9Q1S zK6!HBUwg^T+>=WvP?#X}X#9B=DMUruYBlIweG$?qD@WjLKag=5LG&(|)=+E>ns~%1 z*sO*<`unNHuxbEy&`SIrtj$r<`{(z$o`k53qvPfb_NO+Tc(>d6k!e$LUi_3v@sm*a zGCMw>?IP6D4Poc;KS~?RkxP%+o&1Pce*OOZALa_<|DP-WFVB^K4ql)Bs6o-Ky@{cv z;g1;i*OcN&KtP^`0=XWXpT8G>!G3^$gscau5NEwkqnTtr#ifm!@>o_~m2tnI5{n zjeK~NZu!nID_KU~&e6_RycX@3fV$r48r+o3&lOC;M$Jajs4^vDxDiIV4k|aSU&+`mttpdFey& zzPcm`eZJ%k?`{XNZ1Ta$4G9Lw2h~>R1Dtt&7f}yF`A=BX`&2NiyR~kbQ4Pe^qSLiZ zS|H9h=bvH1mt>dFa`(m=o2i%QUqfLDfSC|2}*fR7ID%v13a-d?Qe`b?&ec2*Y zbDu#RM)fbdkyXFo@d>xUf)lL*1yZHgdpKh#)+OsYh=CQ z3dm1xY;+$G)ELuC)7e#7fpmA%KqjzeIbH>4#6JvfBy=a^<9F{^zd;DvBS*Cp;%4L( zm4|WeW9MA!!u5u6rKRdxcX@I52Fnij3Ub|Ud4W5P9q#q8U9|MB-K<2gz!{)BxeG8D z{Pq?v6Ln2>(M~+QF=Im3daw|lyKoy;0VvvMzlQO7XxqOaIx!%MAa5>YWR}ssCmA^9 zVS7lVtFE&}$V)a1w+_glO1ssFv>Dp>&eV&)7L9yC^uY$Am|zm1`wEGOD1U4##`{7| z%nNLHRpt&yJ&#tNoa5|C!dyzI)VXH1lm*X%fjeE7nNLuPGV-O&dPSJ9S7 zi9^a3bmq!EF0H596iGVt(cdix=kj*inMG#IS#g1J&%vXRx<^2-?qwx&sZAqs5%{86 z<)L)ETQ>`f(*o%;OE)~UX#?62Zsd?lTUnUFg(53#&dWm2_g7DgQKCN+o^( zpX?~AvbhyY9|Pc)Bx55obl9CJ9dER%;4F>fIJYMsQc+==b6W0SEBFZA>|m*rT#i94 zfVG%aH{%}*XS0M4w3Ml8*d%yWc^QiTT4&IKPnn0wHrk$b(13$9yJpfVVp|j|D(g5v*?IZpS*l+h zX{JDvh?u<(nFVcz4tcdva|Hyp92~yGt`HM3{4yaGq59Oanm(oB%ma#vSrK+WwT$(w zoCSbxMRnww$9OW`Vo&oOM;a@osAFjuKi1uQod&HsdM3>bDyh5?Uh4fvisL~9 zlqeqe)^tWv1Rwe=Kd)!MN1+H}@5p&Tn}@U<7#Pye-NMe^#lq0;DV&(n*o&H1!F-JD zdDQvniyWNX6UDWVF1cgShxXZ5*(@d+Oewi1xq73=Z(Wg*An$DhVzYdVG6F_Iyo#gJ z5DW(bf?nxi{dZ%QagDUP1K17sMGvC zu*@RCaB#O_F>;aDWPrEP(&~$$=}NUfX19G{RdDYHqRgdfZJ=fL*Q|k@Y@=nCwICL)FK2__>IhxsK_i&Hd zx>vP{1UB?6yWqV!#=vSick_|!h8{)qNmHya-541iPx`}6=Xuyw9_xXh0Iw9~8=cIe z7%S;ydfhDzSy(!q!F}*6H<&x5S^sv1dm5n~-B9DVVuF#Tr?K)mQWvVP_MpJ`2&yvZ z4{X72s;JM`H~nq+O3~YG4un5#h>@B%SAT=4G>VlWi^1{hPkyIb=aR;>+oZ(t{yj_T zX~L@}_M$J6BV|eRh{f8(t&r=%B;n%5` z$-3hsP76wKh06<~+tn7caNK!Y<`139^bw%xmF7ff2&rn!(i8~}(_#*B0Pfs1DI*Sp zW-LhhQZqmTo=cg4ZojK5iF1I3M)Y|50wV)mVJL2T&YBP5vo_zRI`hLGNk=JIlf3^1H*`f zH<6zB=A(b|<+1W|N-28~&fpm7u&5`kZbfA>v5620^Uh#k-3>BacxR zz`>y?;!#Wwhs<)$a}o~i80cm3eMWR7DDSG=|N2sIecj4_g<-8fJ|tL#l73nD%SDP- z#SUiO%WJMuml(Vpl$v<|GD1O&*|)*441p+e)ZM}?2pLntf-xh)g3%Mgf+tNZjti@8 z`n}F+$$MC;AES+?M*~Q}C9pml)H(3K$M^)0QZdL2LyI1w{Y)D`6JUN6X1QgRSty)j zMd;E%)BjQE^FDI34fKo{Jnvyn1bWqpKXu9bR-6qKBg5`)0!^4VE3A>Cg}8VxzIYLxX>veO^wte_x=FfA02z%=wd@N9n<&C4-@C8|LC$$FXb2)O|J+hyY9r zbhbk>rF=KC3jY$>cC4TrZ0Y=F=L&xXhbF+bcu{Bykz{QiQ!l~8GXCWy%~+mWi^>^b zX0b84k6z!pmq~c%xhm^@aj=hBhFxOY|(%R5G@raeG9FKaxg@ zzau~ZT4TWe%==Sui`q)p3%=@i2zf-s2ss@BGX>;Yk_xCf8LGX^_SLd|@}m9p=ae8@ zOAS=nDQW>;ieb?!!Vh66z%vcYP$;gk=i6Rjl&s0RCl#)^dS-}I`B{5J%5QO;X{s&y z?Fq@DVsea!1~_^$%&LBeMaoBxe-%W7c}`OlThth%rXfoscS5k)n5CBEn(f{9j!$A7 z^t={qN1XDO*`|ziMux=hzJ*1?FhfG*~$3v+%%6_^c|Iy7PGZn8bhAX%W- zaQ#qIXd+x!a|&Ib4m*js)VwM+O>Q(f4nt>FvoVFK`b^}BW?6`LbtoxSq6+VD8ks$M z5ZIYQqyUxCjOjM1pKzY-epY*1l>0G9;_U5`#G1Ry3+-q|Aq*YZgYA_oyPn|p0}vfZ zF6aBR8-w%5j!`JgpC85@R|p%h1sEZbkGw9{R<~K(Gdz!*gTwQrg@rQ%Bx0o=&J51? z6H%Y>!xLx8w35J$KAxlbhx0}RphVHXyoD8sHS)K=le>8n!vxEdlP3d3LIH7sg0yo2 zFtrc6K^*bImt6K@e>hkdeZJ!bNLhjVZlW!Euav&C)aUPD%y$G8c z$Nq4&Tv&J{3@-L20JYMr{61_ ze0zbE2(`)UbOT-1%KZqAE@G6NVJ;K}--it@8iOE4`WQeYgk2X6JC1>Nf-UE-ix9Fh z9UUALL=>(r3fT}S$i?FelNd{z*5dAUP9O}E^v(dm^jMRB}rf%l31xk2st+>N{s+n|8Hl z#jw!_*#)C0v z7Dg4|d$GBEV}w?B9!RPc`x-oT%9@8{N{joNYTWOIvx4?;V1E=@kBkEV_qD<}45kS& z{Tr)9N@Qv&*fPb+9*b>0UtMbF_hK~@`K|%gt2QuEsR+Yj7x4NJBIIFadTgV5q|#g~ z(2+hUnZ;VV7S6+FZ-)z>kTIojF{!(leSsnsw1O32R5nIa&cj`t9gq`G)ZO|o953O% z=KVk-xT!)}$hV@^K4V>x-Rs&XKZfriDPrAFGJ&;dLaF`9clR&82tW8j-}^))*p zjP&Ass3xpkKbn9MCAeMH1kO5XX4aSt>?gIIQ*WE8_CKUTIA=h&2-m8tPMKuvnW#P0Lt*iEes~{v+Sz?2VP;ie!C-4+paRUxfrQqR{3Wq2>)F z^Z6MdC30ksMt5eD|_u%a(^XC1-h#X`<^$Q$0~2y1hnH>o>Fm+SM) z)zM>RNk~seBV|3>ss}$29iUK7ii%d?rxbuP`Oa<3y9?nd__Z@3z`NZV{N;-;S@Bkh z&Lva9^NSxEI927N3*3Tp(O;kd5hhM~o+tP0#OAB@Yy>Wm43iZn`!68IkQlf?bWIg= zBvDB2Q2U=bxK_C~EBk2;vIa%Sq$8%bHhSc5UVqcQKeZ_7kKC=7ym%;Y%NRb{YkmGm zL;c-+LHl=uKvmj61c40F0x}5luf(Mu5NQ76C^7aED9w)|bR~N4SKX8^HW@TmBGy}) zgR2NfF0s+~zOSpAc%F3g2!~VF_iNSZ!pZjSa6Hy0ebPZrY^o39J6ZS&;FL2OMIPdr znaYU@;$`}wjK!FF=MdDIM&FFXgi{;Rr-6`2aZ;u`8r)Gtsfn_H`59*N7K#tWNdl&q zG37|~RuW+E2FXL##S{VACVTX(k0;|ogtm=SH`(BuYUmKL>^%+nMKmKX0-~!dS&7Oj z@Kpj9M8rZ2rWb8iy$kJwu@&^5UtI8uwxlDi`wP#S4o2{=HY~!M?8_`me1`3H zI3sGLQb>_31Q>n2JmlY(2&yKl72E%w6Da}<-r6Omm}TJdd|GdfCy&_|G1`o_ir$>( z`1#_F2yeW7K{byQ%meRaRVqU zRgZnPB%#TpA}Qj0?T(j2jSh^kT1%I#mzsBw)@F%zx%?*VF?d3yZ~9QY{9g&@+Auti zUdE@pgM6~tKcDS^a?W7dwuTmeCZyfi99tei-~7GEyGWn~D2QzFb&&Jr z0}eR0$sM~pt1SA8mbFenxF}k8K{oH6>fQPKZE?lT(UQbyy33C<1aVTlH=Wo~l;z9h zWELu9=hY|nV`;ULwHi7V?#p~FE5+5jL>cVX3~j>}&~gI=mh6qLa3|*qj4@JeD8{5a zSVUun`?=?SZAZBff`(=vvvuJ4bmSx+R90?8gCwL8kfad0u&L2*L!I2OA&nnOnl*C6 zH#zyOt21Uo{lh0w4u8^|y+;y;{+^8l7anG9QQK3RQm6l2m;X8^{U>!2Tp!}xfzw$)~;U^upM^>Bt3ve493KN|1w zh78(&uzCzEH~c8*F!>%0Qv}*<%d?Pqli4wWXgT-2*p7g)>X7Wt(w4D$w)DDlX}31g zfKke>3N~!N9>Olu`PzMZJ>4g=eymI{$L;ITfPy(_>LvC8SCTFk#Q|ue1JPi9?I0I5 z%)lUJExR1-J<_{=<^xrRu0ap#3uiJ3#8hUSHV-z1hynEee4*F`NfrtEoe15}q)8in z^odF5`*cR_zk3#-3lxzZ$g|*qrsz}Uin;*M%HGh*UR%+{+R#q($-C6WeX{C$@-FeW z$T1C=0NLUaO7JkA1RD7rn8r(g!5(B6#DMmr9zIeOsL$h4B>fp~hZ?-lx%m~bP|nol zgDP|fHIU&SN|+|YJtVa_uBbZ+!qMWHqpL9qaFHr2q2I?tNEXfM^o61ll}`YJK4o=sA=g%?N;6I&wT}{6OXnmo95wwYmal3#fd1+LE_y{^m8M!Qi^9?#NJ* zbp>TU>_!}2_*||%i+>#D`b%o@AXWpv6F+~~EvJrx!-$-dd|v}NXam(A{;DyO-a#MZClV7H~!%`lV( zr>*=7VU@oXM&=Eg`s9QQ3Os^$R;j&+o15bEUadRWQg~V`g3t^Cm?p)J^@bS^Z*n{E zYs2sRlXI%(Up?pITuX#ZM_2l3-p+ZHm@Z#b#5A>&FN}*kcKO^-^&fcMt(@54dqT)c zJOju0vGx8esr%DPAVYyY10w)kzmWc;&3-cY-<{DDgP+xTw8Xz$)9*t6bWTqcKZVNw zMe}1Z{WoDxtMzAlDg}IMf2$h&UEZH{gHPa}^4|QN>|a%cf2!!uTDV`-F`()Fm(YJ# z#{EhDX9d?U@|PfI@{9bhdanOAXb{D}+S8!zA^%mj^fcUmHp%Z=awYkj>-w{!fBLv5 zK|i&W{dcne@OXdn`7_4*#b*cqpCi6MIsADX`HO=$=1&fP9Zvo?W&J*Oc~E%sS9{XVzhsg01p6P7xVuyU diff --git a/JisolGameCocos/config/GRoleAttackBullet.xlsx b/JisolGameCocos/config/GRoleAttackBullet.xlsx deleted file mode 100644 index f53a45917d09069e1ac190c8a0dc2d7edfb0146a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11104 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 G_WuFE={;uv diff --git a/JisolGameCocos/config/GRoleAttackEffect.xlsx b/JisolGameCocos/config/GRoleAttackEffect.xlsx deleted file mode 100644 index 26b8e5caf25d4496fac57d04bcc5f542030ca050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11172 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 diff --git a/JisolGameCocos/config/GRoleSkill.xlsx b/JisolGameCocos/config/GRoleSkill.xlsx deleted file mode 100644 index 3db1b95beebdaf48078fd52265c1aa8491ef346d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11530 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 diff --git a/JisolGameCocos/config/GRoleSkillEffect.xlsx b/JisolGameCocos/config/GRoleSkillEffect.xlsx deleted file mode 100644 index b224949443fd712a91e6b7d12026e1a6b713d100..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11331 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 VzeF*BP2v?$JYdXeFN+fBe*j)n)L{Ss diff --git a/JisolGameCocos/config/Id Info.txt b/JisolGameCocos/config/Id Info.txt deleted file mode 100644 index 4c89e144..00000000 --- a/JisolGameCocos/config/Id Info.txt +++ /dev/null @@ -1,6 +0,0 @@ -1**** 角色 -2**** 角色普攻子弹 -3**** 角色攻击特效 -4**** 角色技能ID -5**** 角色技能SpineId -6**** 地图Id \ No newline at end of file diff --git a/JisolGameCocos/config/Table Info.txt b/JisolGameCocos/config/Table Info.txt deleted file mode 100644 index d40a9407..00000000 --- a/JisolGameCocos/config/Table Info.txt +++ /dev/null @@ -1,7 +0,0 @@ -GRole - 角色表 -GRoleAttack - 角色普攻表 -GRoleAttackBullet - 角色普攻子弹表 -GRoleAttackEffect - 角色普攻特效表 -GRoleSkill - 角色技能表 -GRoleSkillEffect - 角色技能特效 -GMap - 游戏地图 \ No newline at end of file diff --git a/JisolGameCocos/extensions/ngame b/JisolGameCocos/extensions/ngame index 9731b4de..f622f919 160000 --- a/JisolGameCocos/extensions/ngame +++ b/JisolGameCocos/extensions/ngame @@ -1 +1 @@ -Subproject commit 9731b4de5d3126099e93cb46e5fed636c9c36ee1 +Subproject commit f622f919ae737756d4819f542fdcb9b36c50667b diff --git a/JisolGameCocos/package-lock.json b/JisolGameCocos/package-lock.json new file mode 100644 index 00000000..0de07f86 --- /dev/null +++ b/JisolGameCocos/package-lock.json @@ -0,0 +1,900 @@ +{ + "name": "JisolGameCocos", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "JisolGameCocos", + "devDependencies": { + "protobufjs-cli": "^1.1.2" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jsdoc/salty": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.5.tgz", + "integrity": "sha512-TfRP53RqunNe2HBobVBJ0VLhK1HbfvBYeTC1ahnN64PWvyYyGebmMiPkuwvD9fpw2ZbkoPb8Q7mwy0aR8Z9rvw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true, + "peer": true + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "dev": true, + "peer": true + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", + "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "dev": true, + "peer": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protobufjs": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", + "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs-cli": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.2.tgz", + "integrity": "sha512-8ivXWxT39gZN4mm4ArQyJrRgnIwZqffBWoLDsE21TmMcKI3XwJMV4lEF2WU02C4JAtgYYc2SfJIltelD8to35g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "escodegen": "^1.13.0", + "espree": "^9.0.0", + "estraverse": "^5.1.0", + "glob": "^8.0.0", + "jsdoc": "^4.0.0", + "minimist": "^1.2.0", + "semver": "^7.1.2", + "tmp": "^0.2.1", + "uglify-js": "^3.7.7" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "protobufjs": "^7.0.0" + } + }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/JisolGameCocos/package.json b/JisolGameCocos/package.json index 87045934..6a3e3d72 100644 --- a/JisolGameCocos/package.json +++ b/JisolGameCocos/package.json @@ -3,5 +3,6 @@ "uuid": "7f2de0b9-a399-46ff-847a-61891ca5965c", "creator": { "version": "3.8.1" - } + }, + "devDependencies": {} } diff --git a/JisolGameCocos/settings/v2/packages/information.json b/JisolGameCocos/settings/v2/packages/information.json index 2031e5f9..77d851d5 100644 --- a/JisolGameCocos/settings/v2/packages/information.json +++ b/JisolGameCocos/settings/v2/packages/information.json @@ -1,5 +1,5 @@ { - "__version__": "1.0.0", + "__version__": "1.0.1", "information": { "customSplash": { "id": "customSplash", @@ -15,7 +15,7 @@ "label": "removeSplash", "enable": true, "removeSplash": { - "complete": false, + "complete": true, "form": "https://creator-api.cocos.com/api/form/show?sid=1b8a08a3e3a81e84a39b39c967858a15" } } diff --git a/JisolGameCocos/tsconfig.json b/JisolGameCocos/tsconfig.json index e7507c28..161164a2 100644 --- a/JisolGameCocos/tsconfig.json +++ b/JisolGameCocos/tsconfig.json @@ -5,6 +5,7 @@ /* Add your custom configuration here. */ "compilerOptions": { - "strict": false + "strict": false, + "allowSyntheticDefaultImports": true, // 需要开启 } } diff --git a/JisolGameServer/JNGame b/JisolGameServer/JNGame index f3a45363..fe5330b6 160000 --- a/JisolGameServer/JNGame +++ b/JisolGameServer/JNGame @@ -1 +1 @@ -Subproject commit f3a45363cab5962aed80e50d2f01827b3e7b9704 +Subproject commit fe5330b622e0fb50a12808bc832eeb79202c4eb3 diff --git a/JisolGameServer/Main/src/main/java/cfg/TB/TbGGlobal.java b/JisolGameServer/Main/src/main/java/cfg/TB/TbGGlobal.java new file mode 100644 index 00000000..1cf0b843 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cfg/TB/TbGGlobal.java @@ -0,0 +1,55 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg.TB; + +import luban.*; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + + +public final class TbGGlobal extends AbstractBean { + public TbGGlobal(JsonObject _buf) { + id = _buf.get("id").getAsInt(); + args = _buf.get("args").getAsString(); + tig = _buf.get("tig").getAsString(); + } + + public static TbGGlobal deserialize(JsonObject _buf) { + return new cfg.TB.TbGGlobal(_buf); + } + + /** + * id + */ + public final int id; + /** + * 全局表参数 + */ + public final String args; + /** + * 描述 + */ + public final String tig; + + public static final int __ID__ = 1682089212; + + @Override + public int getTypeId() { return __ID__; } + + @Override + public String toString() { + return "{ " + + "(format_field_name __code_style field.name):" + id + "," + + "(format_field_name __code_style field.name):" + args + "," + + "(format_field_name __code_style field.name):" + tig + "," + + "}"; + } +} + diff --git a/JisolGameServer/Main/src/main/java/cfg/Tables.java b/JisolGameServer/Main/src/main/java/cfg/Tables.java index 1486d528..2f82636c 100644 --- a/JisolGameServer/Main/src/main/java/cfg/Tables.java +++ b/JisolGameServer/Main/src/main/java/cfg/Tables.java @@ -19,23 +19,26 @@ public final class Tables JsonElement load(String file) throws java.io.IOException; } + private final cfg.TbGGlobal _tbgglobal; + public cfg.TbGGlobal getTbGGlobal() { return _tbgglobal; } private final cfg.TbGRole _tbgrole; public cfg.TbGRole getTbGRole() { return _tbgrole; } - private final cfg.TbGMap _tbgmap; - public cfg.TbGMap getTbGMap() { return _tbgmap; } private final cfg.TbGRoleAttack _tbgroleattack; public cfg.TbGRoleAttack getTbGRoleAttack() { return _tbgroleattack; } private final cfg.TbGRoleBattleRes _tbgrolebattleres; public cfg.TbGRoleBattleRes getTbGRoleBattleRes() { return _tbgrolebattleres; } private final cfg.TbGRoleSkill _tbgroleskill; public cfg.TbGRoleSkill getTbGRoleSkill() { return _tbgroleskill; } + private final cfg.TbGMap _tbgmap; + public cfg.TbGMap getTbGMap() { return _tbgmap; } public Tables(IJsonLoader loader) throws java.io.IOException { + _tbgglobal = new cfg.TbGGlobal(loader.load("tbgglobal")); _tbgrole = new cfg.TbGRole(loader.load("tbgrole")); - _tbgmap = new cfg.TbGMap(loader.load("tbgmap")); _tbgroleattack = new cfg.TbGRoleAttack(loader.load("tbgroleattack")); _tbgrolebattleres = new cfg.TbGRoleBattleRes(loader.load("tbgrolebattleres")); _tbgroleskill = new cfg.TbGRoleSkill(loader.load("tbgroleskill")); + _tbgmap = new cfg.TbGMap(loader.load("tbgmap")); } } diff --git a/JisolGameServer/Main/src/main/java/cfg/TbGGlobal.java b/JisolGameServer/Main/src/main/java/cfg/TbGGlobal.java new file mode 100644 index 00000000..80e8e945 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cfg/TbGGlobal.java @@ -0,0 +1,37 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg; + +import luban.*; +import com.google.gson.JsonElement; + + +public final class TbGGlobal { + private final java.util.HashMap _dataMap; + private final java.util.ArrayList _dataList; + + public TbGGlobal(JsonElement _buf) { + _dataMap = new java.util.HashMap(); + _dataList = new java.util.ArrayList(); + + for (com.google.gson.JsonElement _e_ : _buf.getAsJsonArray()) { + cfg.TB.TbGGlobal _v; + _v = cfg.TB.TbGGlobal.deserialize(_e_.getAsJsonObject()); + _dataList.add(_v); + _dataMap.put(_v.id, _v); + } + } + + public java.util.HashMap getDataMap() { return _dataMap; } + public java.util.ArrayList getDataList() { return _dataList; } + + public cfg.TB.TbGGlobal get(int key) { return _dataMap.get(key); } + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/config/WebConfig.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/config/WebConfig.java index 38982978..67bf9d48 100644 --- a/JisolGameServer/Main/src/main/java/cn/jisol/game/config/WebConfig.java +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/config/WebConfig.java @@ -1,7 +1,10 @@ package cn.jisol.game.config; +import cn.jisol.game.controller.argsresolver.PlayerMethodArgumentResolver; import cn.jisol.game.controller.argsresolver.UserMethodArgumentResolver; +import cn.jisol.game.controller.game.GPlayerController; import cn.jisol.game.interceptor.LoginInterceptor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; @@ -12,6 +15,9 @@ import java.util.List; @Configuration public class WebConfig implements WebMvcConfigurer { + @Autowired + GPlayerController playerController; + /** * 添加登录拦截器 * @param registry @@ -26,5 +32,6 @@ public class WebConfig implements WebMvcConfigurer { public void addArgumentResolvers(List resolvers) { WebMvcConfigurer.super.addArgumentResolvers(resolvers); resolvers.add(new UserMethodArgumentResolver()); + resolvers.add(new PlayerMethodArgumentResolver(this.playerController)); } } diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/CurrentPlayer.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/CurrentPlayer.java new file mode 100644 index 00000000..4c3d8217 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/CurrentPlayer.java @@ -0,0 +1,10 @@ +package cn.jisol.game.controller.argsresolver; + +import java.lang.annotation.*; + +@Target({ElementType.PARAMETER}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface CurrentPlayer { + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/PlayerMethodArgumentResolver.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/PlayerMethodArgumentResolver.java new file mode 100644 index 00000000..b54636d3 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/argsresolver/PlayerMethodArgumentResolver.java @@ -0,0 +1,65 @@ +package cn.jisol.game.controller.argsresolver; + +import cn.jisol.game.controller.exception.PlayerException; +import cn.jisol.game.controller.exception.TokenException; +import cn.jisol.game.controller.game.GPlayerController; +import cn.jisol.game.data.Cache; +import cn.jisol.game.entity.User; +import cn.jisol.game.entity.game.Player; +import cn.jisol.game.service.impl.PlayerServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.MethodParameter; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.support.WebDataBinderFactory; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.method.support.ModelAndViewContainer; + +import java.util.Objects; + +@Component +public class PlayerMethodArgumentResolver implements HandlerMethodArgumentResolver { + + GPlayerController playerController; + + public PlayerMethodArgumentResolver(GPlayerController playerController) { + this.playerController = playerController; + } + + @Override + public boolean supportsParameter(MethodParameter parameter) { + if (parameter.hasParameterAnnotation(CurrentPlayer.class)) { + return true; + } + return false; + } + + @Override + public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest nativeWebRequest, WebDataBinderFactory webDataBinderFactory) throws Exception { + + //获取Token + String token = nativeWebRequest.getHeader(Cache.KEY_TOKEN); + User user; + Player player; + if(Objects.isNull(token) || Objects.isNull(user = Cache.TOKEN.get(token))){ + //抛出Token异常 + throw new TokenException(); + } + //获取Player + if(Objects.isNull(player = Cache.PLAYER.get(user.getUserId()))){ + //如果没有数据则向数据库获取 + player = playerController.getPlayerInfo(user).data; + + if(Objects.isNull(player)){ + //抛出Token异常 + throw new TokenException(); + }else{ + Cache.PLAYER.put(user.getUserId(),player); + } + } + + return player; + + } + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/exception/PlayerException.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/exception/PlayerException.java new file mode 100644 index 00000000..3153b4f1 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/exception/PlayerException.java @@ -0,0 +1,4 @@ +package cn.jisol.game.controller.exception; + +public class PlayerException extends Exception{ +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GNoviceController.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GNoviceController.java new file mode 100644 index 00000000..3c25c1f2 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GNoviceController.java @@ -0,0 +1,65 @@ +package cn.jisol.game.controller.game; + +import cfg.TB.TbGGlobal; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONUtil; +import cn.jisol.game.controller.argsresolver.CurrentPlayer; +import cn.jisol.game.data.GlobalIds; +import cn.jisol.game.data.TD; +import cn.jisol.game.entity.game.Player; +import cn.jisol.game.entity.game.PlayerPet; +import cn.jisol.game.service.PlayerPetService; +import cn.jisol.ngame.util.NewsContext; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Api(value = "JNGameDemo - API", tags = {"新手引导 - API"}) +@RestController +@RequestMapping("/game/novice") +@ResponseBody +public class GNoviceController { + + @Autowired + PlayerPetService playerPetService; + + //选择宠物(前提是玩家没有宠物) + @ApiImplicitParams({}) + @ApiOperation(value = "选择宠物(前提是玩家没有宠物)") + @PostMapping("/select/{petId}") + public NewsContext select(@CurrentPlayer Player player,@PathVariable Integer petId){ + + if(Objects.isNull(petId)) return NewsContext.onFail("请选择宠物"); + //判断选择的宠物是否在配置表中 + TbGGlobal info = TD.DATA.getTbGGlobal().get(GlobalIds.SELECT_PET_ID); + //判断选择的宠物是否在其中 + List ids = JSONUtil.toList(info.args, Integer.class); + if (!ids.contains(petId)) return NewsContext.onFail("不可选择这个宠物!"); + + //宠物数量 + long petCount = playerPetService.count( + Wrappers.lambdaQuery(PlayerPet.class).eq(PlayerPet::getPetPlayerId,player.getPlayerId()) + ); + + if(petCount > 0){ + //玩家已经有宠物了 + return NewsContext.onFail("你已经有宠物了!"); + }else{ + //选择宠物 + if (playerPetService.save(PlayerPet.builder().petPlayerId(player.getPlayerId()).petTbId(petId).petGrade(0).build())){ + return NewsContext.onSuccess("选择宠物成功"); + }else{ + return NewsContext.onSuccess("选择宠物失败"); + } + } + + } + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/PlayerController.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerController.java similarity index 96% rename from JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/PlayerController.java rename to JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerController.java index a589e12c..8ca018c1 100644 --- a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/PlayerController.java +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerController.java @@ -12,18 +12,19 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; import java.util.Objects; /** - * 新手API + * 玩家 */ @Api(value = "JNGameDemo - API", tags = {"PET - API"}) @RestController @RequestMapping("/game/player") @ResponseBody -public class PlayerController { +public class GPlayerController { @Autowired PlayerServiceImpl playerService; diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerPetController.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerPetController.java new file mode 100644 index 00000000..a9f4a41b --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/controller/game/GPlayerPetController.java @@ -0,0 +1,49 @@ +package cn.jisol.game.controller.game; + +import cn.jisol.game.controller.argsresolver.CurrentPlayer; +import cn.jisol.game.controller.argsresolver.CurrentUser; +import cn.jisol.game.entity.User; +import cn.jisol.game.entity.game.Player; +import cn.jisol.game.entity.game.PlayerPet; +import cn.jisol.game.service.PlayerPetService; +import cn.jisol.game.service.impl.PlayerServiceImpl; +import cn.jisol.ngame.util.NewsContext; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 玩家 + */ +@Api(value = "JNGameDemo - API", tags = {"PET - API"}) +@RestController +@RequestMapping("/game/pet") +@ResponseBody +public class GPlayerPetController { + + @Autowired + PlayerPetService playerPetService; + + //获取玩家宠物列表 + @ApiImplicitParams({}) + @ApiOperation(value = "获取玩家宠物列表") + @GetMapping("/list") + public NewsContext> getPetList(@CurrentPlayer Player player){ + + return NewsContext.onSuccess("获取成功", + playerPetService.list( + Wrappers.lambdaQuery(PlayerPet.class).eq(PlayerPet::getPetPlayerId,player.getPlayerId()) + ) + ); + + } + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/data/Cache.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/data/Cache.java index fe5c9231..808f9f95 100644 --- a/JisolGameServer/Main/src/main/java/cn/jisol/game/data/Cache.java +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/data/Cache.java @@ -1,6 +1,7 @@ package cn.jisol.game.data; import cn.jisol.game.entity.User; +import cn.jisol.game.entity.game.Player; import java.util.HashMap; import java.util.Map; @@ -11,6 +12,7 @@ import java.util.Map; public class Cache { public static String KEY_TOKEN = "Token"; - public static Map TOKEN = new HashMap<>(); + public static Map TOKEN = new HashMap<>(); //Token + public static Map PLAYER = new HashMap<>(); //玩家 } diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/data/GlobalIds.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/data/GlobalIds.java new file mode 100644 index 00000000..045eb53d --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/data/GlobalIds.java @@ -0,0 +1,8 @@ +package cn.jisol.game.data; + +public interface GlobalIds { + + //选择宠物配置表Id + int SELECT_PET_ID = 70001; + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/entity/game/PlayerPet.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/entity/game/PlayerPet.java index d10a23d9..68a199d9 100644 --- a/JisolGameServer/Main/src/main/java/cn/jisol/game/entity/game/PlayerPet.java +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/entity/game/PlayerPet.java @@ -15,6 +15,7 @@ import lombok.Data; public class PlayerPet { @TableId(type = IdType.AUTO) private Long petId; //宠物唯一Id - private String petTbId; //宠物配置表Id - private String petGrade; //宠物等级 + private Long petPlayerId; //宠物的玩家Id + private Integer petTbId; //宠物配置表Id + private Integer petGrade; //宠物等级 } diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/mapper/PlayerPetMapper.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/mapper/PlayerPetMapper.java new file mode 100644 index 00000000..63f32250 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/mapper/PlayerPetMapper.java @@ -0,0 +1,10 @@ +package cn.jisol.game.mapper; + +import cn.jisol.game.entity.game.PlayerPet; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Component; + +@Component +public interface PlayerPetMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/service/PlayerPetService.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/service/PlayerPetService.java new file mode 100644 index 00000000..efd70c68 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/service/PlayerPetService.java @@ -0,0 +1,8 @@ +package cn.jisol.game.service; + +import cn.jisol.game.entity.game.PlayerPet; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface PlayerPetService extends IService { + +} diff --git a/JisolGameServer/Main/src/main/java/cn/jisol/game/service/impl/PlayerPetServiceImpl.java b/JisolGameServer/Main/src/main/java/cn/jisol/game/service/impl/PlayerPetServiceImpl.java new file mode 100644 index 00000000..04a3b8d9 --- /dev/null +++ b/JisolGameServer/Main/src/main/java/cn/jisol/game/service/impl/PlayerPetServiceImpl.java @@ -0,0 +1,15 @@ +package cn.jisol.game.service.impl; + +import cn.jisol.game.entity.game.Player; +import cn.jisol.game.entity.game.PlayerPet; +import cn.jisol.game.mapper.PlayerMapper; +import cn.jisol.game.mapper.PlayerPetMapper; +import cn.jisol.game.service.PlayerPetService; +import cn.jisol.game.service.PlayerService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class PlayerPetServiceImpl extends ServiceImpl implements PlayerPetService { + +} diff --git a/JisolGameServer/Main/src/main/resources/json/tbgglobal.json b/JisolGameServer/Main/src/main/resources/json/tbgglobal.json new file mode 100644 index 00000000..6d712f41 --- /dev/null +++ b/JisolGameServer/Main/src/main/resources/json/tbgglobal.json @@ -0,0 +1,7 @@ +[ + { + "id": 70001, + "args": "[10004,10001,10002]", + "tig": "新手引导选择宠物[妙蛙种子,小石头,疯狂石头]" + } +] \ No newline at end of file