From 30ca0baabc07721c3b92a2ce5bcfe25beb72f844 Mon Sep 17 00:00:00 2001 From: walkpan Date: Wed, 4 Feb 2026 20:31:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=A5=96=E5=8A=B1):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E5=A5=96=E5=8A=B1=E7=B1=BB=E5=9E=8B=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91=E5=B9=B6=E6=B7=BB=E5=8A=A0=E7=A9=BA?= =?UTF-8?q?=E5=80=BC=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整 getLevelRewardType 函数,仅在特定等级返回天赋类型,其他等级返回 null - 在 MissionComp.call_cards 中添加奖励类型空值检查,避免无效调用 - 为多个预制体组件统一添加 debugMode 默认值 --- assets/resources/gui/role_controller.prefab | 4 +++ assets/script/game/common/config/CardSet.ts | 14 ++++----- assets/script/game/map/MissionComp.ts | 33 ++++++++------------- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/assets/resources/gui/role_controller.prefab b/assets/resources/gui/role_controller.prefab index 9ccd6191..82e323e6 100644 --- a/assets/resources/gui/role_controller.prefab +++ b/assets/resources/gui/role_controller.prefab @@ -8780,6 +8780,7 @@ "__prefab": { "__id__": 400 }, + "debugMode": false, "card1": { "__id__": 323 }, @@ -17261,6 +17262,7 @@ "__prefab": { "__id__": 768 }, + "debugMode": false, "coins_node": { "__id__": 657 }, @@ -17309,6 +17311,7 @@ "__prefab": { "__id__": 772 }, + "debugMode": false, "_id": "" }, { @@ -38848,6 +38851,7 @@ "__prefab": { "__id__": 1759 }, + "debugMode": false, "_id": "" }, { diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 4b26d70c..038f373b 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -10,14 +10,12 @@ import { CardType, CardKind } from "./GameSet"; * @returns 奖励类型 CardType */ export function getLevelRewardType(level: number): CardType { - if (level === 1) { - return CardType.Skill; - } else if (level >= 2 && level <= 5) { - return CardType.Talent; - } else if (level === 6) { - return CardType.Partner; - } else { - return CardType.Potion; // 以后暂时都是物品 + switch (level) { + case 2: return CardType.Talent; + case 5: return CardType.Talent; + case 10: return CardType.Talent; + default: + return null } } diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index 56d6ab4d..32a9a43c 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -77,7 +77,7 @@ export class MissionComp extends CCComp { SpecialMonsterSchedule.forEach((item, index) => { if (!this.spawnedSpecialIndices.has(index) && fightTime >= item.time) { this.spawnedSpecialIndices.add(index); - mLogger.log(this.debugMode, 'MissionComp', `[MissionComp] 触发特殊刷怪: ${item.desc}`); + mLogger.log(this.debugMode, 'MissionComp', ` 触发特殊刷怪: ${item.desc}`); oops.message.dispatchEvent("SpawnSpecialMonster", { uuid: item.uuid, type: item.type, @@ -89,23 +89,15 @@ export class MissionComp extends CCComp { // 升级奖励触发 onLevelUp(event: string, args: any) { - mLogger.log(this.debugMode, 'MissionComp', `[MissionComp] 英雄升级到 ${args.lv} 级!`); + mLogger.log(this.debugMode, 'MissionComp', ` 英雄升级到 ${args.lv} 级!`); + // 默认每级都触发属性选择 + oops.message.dispatchEvent(GameEvent.AttrSelect); this.call_cards(args.lv) - // 获取当前等级对应的奖励类型 - - - - // 触发奖励选择界面 (暂时留空) - // this.showLevelUpReward(); } call_cards(lv:number){ const rewardType = getLevelRewardType(lv); - - mLogger.log(this.debugMode, 'MissionComp', `[MissionComp] 触发奖励选择, 类型: ${rewardType}`); - - // 默认每级都触发属性选择 - oops.message.dispatchEvent(GameEvent.AttrSelect); - + if(!rewardType || rewardType== null) return + mLogger.log(this.debugMode, 'MissionComp', ` 触发奖励选择, 类型: ${rewardType}`); // 根据类型发送对应的事件 switch (rewardType) { case CardType.Talent: @@ -120,11 +112,12 @@ export class MissionComp extends CCComp { case CardType.Potion: oops.message.dispatchEvent(GameEvent.ShopOpen); break; + } } showLevelUpReward() { // TODO: 显示三选一技能/属性奖励界面 - mLogger.log(this.debugMode, 'MissionComp', "[MissionComp] 显示升级奖励界面 (TODO)"); + mLogger.log(this.debugMode, 'MissionComp', " 显示升级奖励界面 (TODO)"); } //奖励发放 @@ -133,7 +126,7 @@ export class MissionComp extends CCComp { } do_mon_dead(event:any,data:any){ - // mLogger.log(this.debugMode, 'MissionComp', "[MissionComp] do_mon_dead",event,data) + // mLogger.log(this.debugMode, 'MissionComp', " do_mon_dead",event,data) smc.vmdata.mission_data.mon_num-- // 计算并增加经验 // data 应该是怪物组件或包含怪物信息的对象 @@ -222,7 +215,7 @@ do_ad(){ // smc.mission.play = false; smc.mission.pause = true; // oops.message.dispatchEvent(GameEvent.FightEnd,{victory:false}) - mLogger.log(this.debugMode, 'MissionComp', "[MissionComp] open_Victory",is_hero_dead,this.revive_times) + mLogger.log(this.debugMode, 'MissionComp', " open_Victory",is_hero_dead,this.revive_times) oops.gui.open(UIID.Victory,{ victory:false, rewards:this.rewards, @@ -235,7 +228,7 @@ do_ad(){ onReviveSuccess() { if (this.revive_times > 0) { this.revive_times--; - mLogger.log(this.debugMode, 'MissionComp', `[MissionComp] 玩家复活,剩余次数: ${this.revive_times}`); + mLogger.log(this.debugMode, 'MissionComp', ` 玩家复活,剩余次数: ${this.revive_times}`); } } @@ -250,7 +243,7 @@ do_ad(){ } mission_end(){ - // mLogger.log(this.debugMode, 'MissionComp', "[MissionComp] mission_end") + // mLogger.log(this.debugMode, 'MissionComp', " mission_end") // 合并 FightEnd 逻辑:清理组件、停止游戏循环 smc.mission.play=false this.cleanComponents() @@ -302,7 +295,7 @@ do_ad(){ }; - // mLogger.log(this.debugMode, 'MissionComp', "[MissionComp]局内数据初始化",smc.vmdata.mission_data) + // mLogger.log(this.debugMode, 'MissionComp', "局内数据初始化",smc.vmdata.mission_data) } private cleanComponents() {