feat: 调整游戏难度并优化UI布局

- 降低卡池等级上限和英雄等级上限以简化前期难度
- 重新平衡前四波怪物配置,使难度曲线更平缓
- 移除卡池升级功能并隐藏相关UI按钮
- 调整角色控制器UI元素的位置和尺寸
- 修改加载界面元素的缩放比例
This commit is contained in:
walkpan
2026-04-12 22:37:00 +08:00
parent c38cafc531
commit 09f64b0855
8 changed files with 910 additions and 911 deletions

View File

@@ -1062,7 +1062,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 435.147, "y": 487.134,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -1453,7 +1453,7 @@
"__id__": 72 "__id__": 72
} }
], ],
"_active": false, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 80 "__id__": 80
@@ -1471,7 +1471,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 220.965, "y": 208.926,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -1698,7 +1698,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -70, "x": -20,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -1840,7 +1840,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -47.013, "x": 0,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -2165,7 +2165,7 @@
"_left": 0, "_left": 0,
"_right": 0, "_right": 0,
"_top": 0, "_top": 0,
"_bottom": 435.147, "_bottom": 487.134,
"_horizontalCenter": 0, "_horizontalCenter": 0,
"_verticalCenter": 0, "_verticalCenter": 0,
"_isAbsLeft": true, "_isAbsLeft": true,
@@ -2507,8 +2507,8 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -180, "x": 0,
"y": 154.567, "y": 442.302,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -2557,7 +2557,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -85.592, "x": -26.797,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -2716,7 +2716,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 9.236, "x": 62.916,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -2866,7 +2866,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 360, "width": 720,
"height": 45 "height": 45
}, },
"_anchorPoint": { "_anchorPoint": {
@@ -2940,9 +2940,9 @@
"_alignFlags": 44, "_alignFlags": 44,
"_target": null, "_target": null,
"_left": 0, "_left": 0,
"_right": 360, "_right": 0,
"_top": 0, "_top": 0,
"_bottom": 132.067, "_bottom": 419.802,
"_horizontalCenter": 0, "_horizontalCenter": 0,
"_verticalCenter": 0, "_verticalCenter": 0,
"_isAbsLeft": true, "_isAbsLeft": true,
@@ -4938,7 +4938,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 180, "x": 0,
"y": 153.275, "y": 153.275,
"z": 0 "z": 0
}, },
@@ -5032,7 +5032,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 360, "width": 720,
"height": 45 "height": 45
}, },
"_anchorPoint": { "_anchorPoint": {
@@ -5139,8 +5139,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "35dr0lJV9CO5Ld8TLk7eCZ", "fileId": "35dr0lJV9CO5Ld8TLk7eCZ",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -5166,7 +5164,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -138.644, "x": -35,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -5278,8 +5276,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "e7dPNasr5IyqES0tbwxJX3", "fileId": "e7dPNasr5IyqES0tbwxJX3",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -5308,7 +5304,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -114.038, "x": -15.457,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -5464,8 +5460,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "65zRY1wpZPNLTXws9hsdcE", "fileId": "65zRY1wpZPNLTXws9hsdcE",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -5482,7 +5476,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 360, "width": 720,
"height": 45 "height": 45
}, },
"_anchorPoint": { "_anchorPoint": {
@@ -5552,7 +5546,7 @@
}, },
"_alignFlags": 40, "_alignFlags": 40,
"_target": null, "_target": null,
"_left": 360, "_left": 0,
"_right": 0, "_right": 0,
"_top": 0, "_top": 0,
"_bottom": 0, "_bottom": 0,
@@ -8775,7 +8769,7 @@
"__id__": 491 "__id__": 491
} }
], ],
"_active": true, "_active": false,
"_components": [ "_components": [
{ {
"__id__": 497 "__id__": 497
@@ -10431,7 +10425,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": -85,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -11648,7 +11642,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 240, "x": 185,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@@ -12087,14 +12081,14 @@
"node": { "node": {
"__id__": 552 "__id__": 552
}, },
"_enabled": true, "_enabled": false,
"__prefab": { "__prefab": {
"__id__": 572 "__id__": 572
}, },
"_alignFlags": 33, "_alignFlags": 33,
"_target": null, "_target": null,
"_left": 0, "_left": 0,
"_right": 0, "_right": 120,
"_top": 40, "_top": 40,
"_bottom": 1078.082, "_bottom": 1078.082,
"_horizontalCenter": 0, "_horizontalCenter": 0,
@@ -12198,7 +12192,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 700, "width": 590,
"height": 150 "height": 150
}, },
"_anchorPoint": { "_anchorPoint": {
@@ -12232,11 +12226,11 @@
"height": 40 "height": 40
}, },
"_startAxis": 0, "_startAxis": 0,
"_paddingLeft": 0, "_paddingLeft": 100,
"_paddingRight": 0, "_paddingRight": 0,
"_paddingTop": 0, "_paddingTop": 0,
"_paddingBottom": 0, "_paddingBottom": 0,
"_spacingX": 20, "_spacingX": 50,
"_spacingY": 0, "_spacingY": 0,
"_verticalDirection": 1, "_verticalDirection": 1,
"_horizontalDirection": 0, "_horizontalDirection": 0,
@@ -12264,8 +12258,8 @@
}, },
"_alignFlags": 44, "_alignFlags": 44,
"_target": null, "_target": null,
"_left": 10, "_left": 65,
"_right": 10, "_right": 65,
"_top": 1230, "_top": 1230,
"_bottom": 7.988, "_bottom": 7.988,
"_horizontalCenter": 0, "_horizontalCenter": 0,
@@ -12790,7 +12784,7 @@
"__id__": 809 "__id__": 809
} }
], ],
"_active": true, "_active": false,
"_components": [ "_components": [
{ {
"__id__": 826 "__id__": 826

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 242 KiB

View File

@@ -1819,8 +1819,8 @@
}, },
"_lscale": { "_lscale": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 1.5, "x": 2,
"y": 1.5, "y": 2,
"z": 1 "z": 1
}, },
"_mobility": 0, "_mobility": 0,
@@ -1847,8 +1847,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 421, "width": 218,
"height": 132 "height": 166
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -1884,12 +1884,12 @@
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": {
"__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@a557f", "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@e5c7b",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
"_type": 0, "_type": 0,
"_fillType": 0, "_fillType": 0,
"_sizeMode": 0, "_sizeMode": 1,
"_fillCenter": { "_fillCenter": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": 0, "x": 0,

View File

@@ -22,8 +22,6 @@ export enum CardLV {
LV1 = 1, LV1 = 1,
LV2 = 2, LV2 = 2,
LV3 = 3, LV3 = 3,
LV4 = 4,
LV5 = 5,
} }
/** 通用卡牌配置 */ /** 通用卡牌配置 */
@@ -59,9 +57,9 @@ export const CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE = 10
/** 卡池默认初始等级 */ /** 卡池默认初始等级 */
export const CARD_POOL_INIT_LEVEL = CardLV.LV1 export const CARD_POOL_INIT_LEVEL = CardLV.LV1
/** 卡池等级上限 */ /** 卡池等级上限 */
export const CARD_POOL_MAX_LEVEL = CardLV.LV5 export const CARD_POOL_MAX_LEVEL = CardLV.LV3
/** 英雄最高等级限制 */ /** 英雄最高等级限制 */
export const CARD_HERO_MAX_LEVEL = 3 export const CARD_HERO_MAX_LEVEL = 2
/** 基础卡池(英雄、技能、功能) */ /** 基础卡池(英雄、技能、功能) */
export const CardPoolList: CardConfig[] = [ export const CardPoolList: CardConfig[] = [
@@ -70,30 +68,30 @@ export const CardPoolList: CardConfig[] = [
{ uuid: 5201, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5201, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5301, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5301, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5003, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5003, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5102, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5102, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5302, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5302, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5002, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5002, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5103, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5103, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5202, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5202, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5004, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 4, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5004, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5104, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 4, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5104, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5303, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 4, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5303, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 2, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5105, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 5, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5105, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 },
{ uuid: 5304, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 5, kind: CKind.Hero, hero_lv: 1 }, { uuid: 5304, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 },
// 技能卡牌 (以增益/辅助为主,因为在备战期没有敌人) // 技能卡牌 (以增益/辅助为主,因为在备战期没有敌人)
{ uuid: 6401, type: CardType.Skill, cost: 2, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "单体攻击", info: "随机1个友方+5攻击", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6401, type: CardType.Skill, cost: 2, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "单体攻击", info: "随机1个友方+5攻击", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6402, type: CardType.Skill, cost: 2, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "单体生命", info: "随机1个友方+20最大生命值", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6402, type: CardType.Skill, cost: 2, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "单体生命", info: "随机1个友方+20最大生命值", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6403, type: CardType.Skill, cost: 3, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: "单体全能", info: "随机1个友方+2攻击,+10最大生命值", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6403, type: CardType.Skill, cost: 3, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "单体全能", info: "随机1个友方+2攻击,+10最大生命值", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6404, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, name: "群体攻击", info: "随机3个友方+2攻击", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6404, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: "群体攻击", info: "随机3个友方+2攻击", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6405, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, name: "群体生命", info: "随机3个友方+10最大生命值", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6405, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: "群体生命", info: "随机3个友方+10最大生命值", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6406, type: CardType.Skill, cost: 5, weight: 20, pool_lv: 4, kind: CKind.Skill, card_lv: 1, name: "群体全能", info: "为随机3个友方单位增加攻击力和生命上限", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6406, type: CardType.Skill, cost: 5, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: "群体全能", info: "为随机3个友方单位增加攻击力和生命上限", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6304, type: CardType.Skill, cost: 3, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: "神圣治疗", info: "恢复场上随机3个友方单位的生命值", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6304, type: CardType.Skill, cost: 3, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, name: "神圣治疗", info: "恢复场上随机3个友方单位的生命值", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 6305, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 4, kind: CKind.Skill, card_lv: 1, name: "群体护盾", info: "随机3个友方获得2次伤害免疫", is_inst: true, t_times: 1, t_inv: 0 }, { uuid: 6305, type: CardType.Skill, cost: 4, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, name: "群体护盾", info: "随机3个友方获得2次伤害免疫", is_inst: true, t_times: 1, t_inv: 0 },
{ uuid: 7001, type: CardType.SpecialUpgrade, cost: 6, weight: 16, pool_lv: 1 ,kind: CKind.Card }, { uuid: 7001, type: CardType.SpecialUpgrade, cost: 6, weight: 16, pool_lv: 1 ,kind: CKind.Card },
{ uuid: 7002, type: CardType.SpecialUpgrade, cost: 6, weight: 14, pool_lv: 2 ,kind: CKind.Card }, { uuid: 7002, type: CardType.SpecialUpgrade, cost: 6, weight: 14, pool_lv: 2 ,kind: CKind.Card },

View File

@@ -201,11 +201,11 @@ export class MissionCardComp extends CCComp {
this.clearHeroInfoPanels(); this.clearHeroInfoPanels();
this.layoutCardSlots(); this.layoutCardSlots();
this.clearAllCards(); this.clearAllCards();
if (this.cards_up) { // if (this.cards_up) {
this.cards_up.active = true; // this.cards_up.active = true;
} // }
this.resetButtonScale(this.cards_chou); this.resetButtonScale(this.cards_chou);
this.resetButtonScale(this.cards_up); // this.resetButtonScale(this.cards_up);
this.updateCoinAndCostUI(); this.updateCoinAndCostUI();
this.updateHeroNumUI(false, false); this.updateHeroNumUI(false, false);
this.node.active = true; this.node.active = true;
@@ -269,9 +269,9 @@ export class MissionCardComp extends CCComp {
this.cards_chou?.on(NodeEventType.TOUCH_START, this.onDrawTouchStart, this); this.cards_chou?.on(NodeEventType.TOUCH_START, this.onDrawTouchStart, this);
this.cards_chou?.on(NodeEventType.TOUCH_END, this.onDrawTouchEnd, this); this.cards_chou?.on(NodeEventType.TOUCH_END, this.onDrawTouchEnd, this);
this.cards_chou?.on(NodeEventType.TOUCH_CANCEL, this.onDrawTouchCancel, this); this.cards_chou?.on(NodeEventType.TOUCH_CANCEL, this.onDrawTouchCancel, this);
this.cards_up?.on(NodeEventType.TOUCH_START, this.onUpgradeTouchStart, this); // this.cards_up?.on(NodeEventType.TOUCH_START, this.onUpgradeTouchStart, this);
this.cards_up?.on(NodeEventType.TOUCH_END, this.onUpgradeTouchEnd, this); // this.cards_up?.on(NodeEventType.TOUCH_END, this.onUpgradeTouchEnd, this);
this.cards_up?.on(NodeEventType.TOUCH_CANCEL, this.onUpgradeTouchCancel, this); // this.cards_up?.on(NodeEventType.TOUCH_CANCEL, this.onUpgradeTouchCancel, this);
} }
// ======================== 事件回调 ======================== // ======================== 事件回调 ========================
@@ -318,9 +318,9 @@ export class MissionCardComp extends CCComp {
this.cards_chou?.off(NodeEventType.TOUCH_START, this.onDrawTouchStart, this); this.cards_chou?.off(NodeEventType.TOUCH_START, this.onDrawTouchStart, this);
this.cards_chou?.off(NodeEventType.TOUCH_END, this.onDrawTouchEnd, this); this.cards_chou?.off(NodeEventType.TOUCH_END, this.onDrawTouchEnd, this);
this.cards_chou?.off(NodeEventType.TOUCH_CANCEL, this.onDrawTouchCancel, this); this.cards_chou?.off(NodeEventType.TOUCH_CANCEL, this.onDrawTouchCancel, this);
this.cards_up?.off(NodeEventType.TOUCH_START, this.onUpgradeTouchStart, this); // this.cards_up?.off(NodeEventType.TOUCH_START, this.onUpgradeTouchStart, this);
this.cards_up?.off(NodeEventType.TOUCH_END, this.onUpgradeTouchEnd, this); // this.cards_up?.off(NodeEventType.TOUCH_END, this.onUpgradeTouchEnd, this);
this.cards_up?.off(NodeEventType.TOUCH_CANCEL, this.onUpgradeTouchCancel, this); // this.cards_up?.off(NodeEventType.TOUCH_CANCEL, this.onUpgradeTouchCancel, this);
} }
/** /**
@@ -462,18 +462,18 @@ export class MissionCardComp extends CCComp {
private onDrawTouchCancel() { private onDrawTouchCancel() {
this.playButtonResetAnim(this.cards_chou); this.playButtonResetAnim(this.cards_chou);
} }
/** 升级按钮按下反馈 */ // /** 升级按钮按下反馈 */
private onUpgradeTouchStart() { // private onUpgradeTouchStart() {
this.playButtonPressAnim(this.cards_up); // this.playButtonPressAnim(this.cards_up);
} // }
/** 升级按钮释放 → 执行升级逻辑 */ // /** 升级按钮释放 → 执行升级逻辑 */
private onUpgradeTouchEnd() { // private onUpgradeTouchEnd() {
this.playButtonClickAnim(this.cards_up, () => this.onClickUpgrade()); // this.playButtonClickAnim(this.cards_up, () => this.onClickUpgrade());
} // }
/** 升级按钮取消 → 恢复缩放 */ // /** 升级按钮取消 → 恢复缩放 */
private onUpgradeTouchCancel() { // private onUpgradeTouchCancel() {
this.playButtonResetAnim(this.cards_up); // this.playButtonResetAnim(this.cards_up);
} // }
/** 将四个卡槽节点映射为 CardComp形成固定顺序控制数组 */ /** 将四个卡槽节点映射为 CardComp形成固定顺序控制数组 */
private cacheCardComps() { private cacheCardComps() {
@@ -516,34 +516,34 @@ export class MissionCardComp extends CCComp {
this.dispatchCardsToSlots(cards); this.dispatchCardsToSlots(cards);
} }
/** 升级按钮:仅提升卡池等级,卡槽是否更新由下一次抽卡触发 */ // /** 升级按钮:仅提升卡池等级,卡槽是否更新由下一次抽卡触发 */
private onClickUpgrade() { // private onClickUpgrade() {
if (this.poolLv >= CARD_POOL_MAX_LEVEL) { // if (this.poolLv >= CARD_POOL_MAX_LEVEL) {
mLogger.log(this.debugMode, "MissionCardComp", "pool already max", this.poolLv); // mLogger.log(this.debugMode, "MissionCardComp", "pool already max", this.poolLv);
return; // return;
} // }
const cost = this.getUpgradeCost(this.poolLv); // const cost = this.getUpgradeCost(this.poolLv);
const currentCoin = this.getMissionCoin(); // const currentCoin = this.getMissionCoin();
if (currentCoin < cost) { // if (currentCoin < cost) {
oops.gui.toast(`金币不足,升级需要${cost}`); // oops.gui.toast(`金币不足,升级需要${cost}`);
this.updateCoinAndCostUI(); // this.updateCoinAndCostUI();
mLogger.log(this.debugMode, "MissionCardComp", "pool upgrade coin not enough", { // mLogger.log(this.debugMode, "MissionCardComp", "pool upgrade coin not enough", {
poolLv: this.poolLv, // poolLv: this.poolLv,
currentCoin, // currentCoin,
cost // cost
}); // });
return; // return;
} // }
this.setMissionCoin(currentCoin - cost); // this.setMissionCoin(currentCoin - cost);
this.poolLv += 1; // this.poolLv += 1;
this.playCoinChangeAnim(false); // this.playCoinChangeAnim(false);
this.updateCoinAndCostUI(); // this.updateCoinAndCostUI();
mLogger.log(this.debugMode, "MissionCardComp", "pool level up", { // mLogger.log(this.debugMode, "MissionCardComp", "pool level up", {
poolLv: this.poolLv, // poolLv: this.poolLv,
cost, // cost,
leftCoin: this.getMissionCoin() // leftCoin: this.getMissionCoin()
}); // });
} // }
// ======================== 阶段切换 ======================== // ======================== 阶段切换 ========================
@@ -685,23 +685,23 @@ export class MissionCardComp extends CCComp {
} }
/** 更新升级按钮上的等级文案,反馈当前卡池层级 */ /** 更新升级按钮上的等级文案,反馈当前卡池层级 */
private updatePoolLvUI() { private updatePoolLvUI() {
if (this.cards_up) { // if (this.cards_up) {
const nobg = this.cards_up.getChildByName("nobg"); // const nobg = this.cards_up.getChildByName("nobg");
if (nobg) { // if (nobg) {
nobg.active = !this.canUpPool(); // nobg.active = !this.canUpPool();
} // }
const coinNode = this.cards_up.getChildByName("coin"); // const coinNode = this.cards_up.getChildByName("coin");
const label = coinNode?.getChildByName("num")?.getComponent(Label); // const label = coinNode?.getChildByName("num")?.getComponent(Label);
if (this.poolLv >= CARD_POOL_MAX_LEVEL) { // if (this.poolLv >= CARD_POOL_MAX_LEVEL) {
if (label) { // if (label) {
label.string = `0`; // label.string = `0`;
} // }
} else { // } else {
if (label) { // if (label) {
label.string = `${this.getUpgradeCost(this.poolLv)}`; // label.string = `${this.getUpgradeCost(this.poolLv)}`;
} // }
} // }
} // }
if (this.pool_lv_node) { if (this.pool_lv_node) {
this.pool_lv_node.active = true; this.pool_lv_node.active = true;
const lv = Math.max(CARD_POOL_INIT_LEVEL, Math.min(CARD_POOL_MAX_LEVEL, Math.floor(this.poolLv))); const lv = Math.max(CARD_POOL_INIT_LEVEL, Math.min(CARD_POOL_MAX_LEVEL, Math.floor(this.poolLv)));
@@ -1059,7 +1059,7 @@ export class MissionCardComp extends CCComp {
reset() { reset() {
this.clearHeroInfoPanels(); this.clearHeroInfoPanels();
this.resetButtonScale(this.cards_chou); this.resetButtonScale(this.cards_chou);
this.resetButtonScale(this.cards_up); // this.resetButtonScale(this.cards_up);
this.node.destroy(); this.node.destroy();
} }
} }

View File

@@ -122,13 +122,20 @@ export const WaveSlotConfig: { [wave: number]: IWaveSlot[] } = {
/** 第 1 波2 近战 + 1 近战Boss(默认占3格) */ /** 第 1 波2 近战 + 1 近战Boss(默认占3格) */
1: [ 1: [
{ type: MonType.Long, count: 2 }, { type: MonType.Melee, count: 1 },
], ],
2: [ 2: [
{ type: MonType.Melee, count: 1 },
{ type: MonType.Long, count: 1 },
],
3: [
{ type: MonType.Melee, count: 1 },
{ type: MonType.Long, count: 2 },
],
4: [
{ type: MonType.Melee, count: 2 }, { type: MonType.Melee, count: 2 },
{ type: MonType.Long, count: 2 }, { type: MonType.Long, count: 2 },
], ],
/** 第 1 波2 近战 + 1 近战Boss(默认占3格) */ /** 第 1 波2 近战 + 1 近战Boss(默认占3格) */
10: [ 10: [
{ type: MonType.MeleeBoss, count: 1 }, { type: MonType.MeleeBoss, count: 1 },