diff --git a/tgx-games-client/assets/module_arean/Define.meta b/tgx-games-client/assets/module_arean/Define.meta new file mode 100644 index 0000000..3b237f7 --- /dev/null +++ b/tgx-games-client/assets/module_arean/Define.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "85ed63ec-135a-40dd-a689-ef3a4c3b08d4", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/tgx-games-client/assets/module_arean/Define/GameDefine.ts b/tgx-games-client/assets/module_arean/Define/GameDefine.ts new file mode 100644 index 0000000..1338b0f --- /dev/null +++ b/tgx-games-client/assets/module_arean/Define/GameDefine.ts @@ -0,0 +1,17 @@ +/************************************************************************************ + + * FileName : GameDefine.ts + * Description : + * Version : v1.0.0 + * CreateTime : 2025-02-21 09:46:26 + * Author : + * Copyright (c) since 2025 + * ============================================================== + * Method Description: + * + * ============================================================== + ************************************************************************************/ +export enum EGameDefine{ + /** 匹配花费 */ + GameMatchCost = 100, +} \ No newline at end of file diff --git a/tgx-games-client/assets/module_arean/Define/GameDefine.ts.meta b/tgx-games-client/assets/module_arean/Define/GameDefine.ts.meta new file mode 100644 index 0000000..e4618f7 --- /dev/null +++ b/tgx-games-client/assets/module_arean/Define/GameDefine.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "008bcc9e-5467-443b-bbd1-76c6843796d0", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/tgx-games-client/assets/module_arean/scripts/AreanLobbyScene.ts b/tgx-games-client/assets/module_arean/scripts/AreanLobbyScene.ts index c323211..9f3e987 100644 --- a/tgx-games-client/assets/module_arean/scripts/AreanLobbyScene.ts +++ b/tgx-games-client/assets/module_arean/scripts/AreanLobbyScene.ts @@ -1,6 +1,14 @@ import {_decorator, Component, director, instantiate, JsonAsset, Label, Node, Prefab, tween, v3, SpriteFrame, Sprite, PageView, Input, EventTouch} from 'cc'; import {UserMgr} from '../../module_basic/scripts/UserMgr'; -import {tgxAudioMgr, tgxModuleContext, tgxSceneUtil, tgxUIAlert, tgxUIMgr, tgxUIWaiting} from '../../core_tgx/tgx'; +import { + tgxAudioMgr, + tgxModuleContext, + tgxSceneUtil, + tgxUIAlert, + tgxUIMgr, + tgxUITipsBar, + tgxUIWaiting +} from '../../core_tgx/tgx'; import {SceneDef} from '../../scripts/SceneDef'; import {SceneUtil} from '../../core_tgx/base/SceneUtils'; import {UI_SearchingRival} from 'db://assets/module_arean/ui_searching_rival/UI_SearchingRival'; @@ -22,6 +30,7 @@ import {UIMail} from "db://assets/module_arean/ui_mail/UIMail"; import {UIMoreModel} from "db://assets/module_arean/ui_more_model/UIMoreModel"; import { UIShopScreen } from '../shop/ui_shop/UIShopScreen'; import {UISettings} from "db://assets/module_arean/ui_settings/UISettings"; +import {EGameDefine} from "db://assets/module_arean/Define/GameDefine"; const { ccclass, property } = _decorator; @@ -182,19 +191,20 @@ export class AreanLobbyScene extends Component { if(!this._canClick) return; this._canClick = false; tgxAudioMgr.inst.playCommonBtn(EMusicDefine.EFFECT_CLICK); + let curCoin = UserMgr.inst.userInfo.coin; + if(curCoin < EGameDefine.GameMatchCost){ + tgxUITipsBar.show("金币不足,请前往商店购买!"); + this._canClick = true; + return; + } this._updateFightModel(); - // if(UserLocalCache.inst.fightModel === EFightModel.Match){ - // tgxUIAlert.show("研发团队加班中,敬请期待!"); - // }else{ - tgxUIWaiting.hide(); - tgxUIMgr.inst.showUI(UI_SearchingRival, (ui: UI_SearchingRival) => { - this.scheduleOnce(() => { - ui.startMatch('arean',this.loadGame); - this.setCanClick(true); - }, 1.5); - }); - // } - // director.loadScene(SceneDef.Arean.name); + tgxUIWaiting.hide(); + tgxUIMgr.inst.showUI(UI_SearchingRival, (ui: UI_SearchingRival) => { + this.scheduleOnce(() => { + ui.startMatch('arean',this.loadGame); + this.setCanClick(true); + }, 1.5); + }); } private async loadGame(params?: any) { diff --git a/tgx-games-client/assets/module_basic/scripts/UserMgr.ts b/tgx-games-client/assets/module_basic/scripts/UserMgr.ts index 280c053..4b13172 100644 --- a/tgx-games-client/assets/module_basic/scripts/UserMgr.ts +++ b/tgx-games-client/assets/module_basic/scripts/UserMgr.ts @@ -401,8 +401,9 @@ export class UserMgr { } async rpc_QuickPlay(type: string, immediate?: boolean) { - console.log("rpc_QuickPlay----快速游戏", type, immediate); + console.log("rpc_QuickPlay----快速游戏001", type, immediate); let ret = await NetGameServer.inst.callApi("lobby/StartMatch", { type: type, immediate: immediate,gameModel:UserLocalCache.inst.fightModel }); + console.log("rpc_QuickPlay----快速游戏002", ret); return ret; } diff --git a/tgx-games-server/src/db/mongodb/MongoDBHero.ts b/tgx-games-server/src/db/mongodb/MongoDBHero.ts index c79cb3d..5c6c663 100644 --- a/tgx-games-server/src/db/mongodb/MongoDBHero.ts +++ b/tgx-games-server/src/db/mongodb/MongoDBHero.ts @@ -21,11 +21,9 @@ import {IPropCfg} from "../../shared/configs/interface/IPropCfg"; const schema = new mongoose.Schema({ heroId : { - type : Number, - index: { unique: false }}, + type : Number}, playerId : { - type: String, - index: { unique: false } // 不需要唯一索引,因为玩家 ID 可能在玩家表中不是索引 + type: String }, level : {type : Number,required: true,default : 0}, skinId : {type : Number,required: true,default : 0},