refactor(hero system): 重构英雄升级与卡片展示逻辑
1. 重构英雄升级方法,移除外部传入所需碎片参数,改为从配置表自动读取 2. 简化CardLiteComp.setHeroByUuid,移除卡池等级参数,直接读取英雄静态配置 3. 新增ChipComp.setHeroIconByUuid,重构英雄图标渲染逻辑 4. 新增英雄详情面板的升级功能与碎片展示 5. 新增英雄成长变化的事件监听与面板刷新逻辑
This commit is contained in:
@@ -8,7 +8,7 @@ import { GameEvent } from "./config/GameEvent";
|
||||
import { GameScoreStats } from "./config/HeroAttrs";
|
||||
import { mLogger } from "./Logger";
|
||||
import { gameDataSync } from "./GameDataSync";
|
||||
import { FightSet } from "./config/GameSet";
|
||||
import { FightSet, HERO_UPGRADE_NEED_FRAGMENTS } from "./config/GameSet";
|
||||
|
||||
/**
|
||||
* 用远程数据覆盖本地数据(统一方法)
|
||||
@@ -351,13 +351,15 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
}
|
||||
|
||||
/**
|
||||
* 消耗碎片提升英雄局外等级
|
||||
* 消耗碎片提升英雄局外等级(内部查表决定所需碎片数)
|
||||
* @param uuid 英雄模板 uuid
|
||||
* @param needFragments 本次升级所需碎片数量(由外部配置表计算)
|
||||
* @returns 是否升级成功
|
||||
* @returns 是否升级成功(已到满级或碎片不足时返回 false)
|
||||
*/
|
||||
upgradeHero(uuid: number, needFragments: number): boolean {
|
||||
upgradeHero(uuid: number): boolean {
|
||||
const growth = this.getHeroGrowth(uuid);
|
||||
const needFragments = HERO_UPGRADE_NEED_FRAGMENTS[growth.lv + 1];
|
||||
// 配置表中查不到下一级 = 已到满级
|
||||
if (needFragments === undefined) return false;
|
||||
if (growth.fragments < needFragments) return false;
|
||||
growth.fragments -= needFragments;
|
||||
growth.lv += 1;
|
||||
|
||||
Reference in New Issue
Block a user