refactor(MissionCardComp): 使用动态属性访问简化冗余的switch逻辑

This commit is contained in:
panw
2026-01-05 16:41:37 +08:00
parent 801659c33a
commit 46861fef19

View File

@@ -200,56 +200,23 @@ export class MissionCardComp extends CCComp {
} }
} }
updateCardData(index:number, data:any){ updateCardData(index: number, data: any) {
switch (index) { // 使用动态属性访问,简化 switch 冗余代码
case 1: (this as any)[`card${index}_data`] = data;
this.card1_data = data this.updateCardInfo((this as any)[`card${index}`], data);
this.updateCardInfo(this.card1, data);
break;
case 2:
this.card2_data = data
this.updateCardInfo(this.card2, data);
break;
case 3:
this.card3_data = data
this.updateCardInfo(this.card3, data);
break;
case 4:
this.card4_data = data
this.updateCardInfo(this.card4, data);
break;
}
} }
selectCard(e:any,index:string){ selectCard(e: any, index: string) {
console.log("selectCard",index) console.log("selectCard", index)
let _index = parseInt(index); let _index = parseInt(index);
// 如果已经选择过,则不再处理 // 如果已经选择过,则不再处理
if(this.hasSelected) return; if (this.hasSelected) return;
let selectedData: any = null; // 动态获取数据和节点,简化 switch 逻辑
let selectedCardNode: Node | null = null; let selectedData: any = (this as any)[`card${_index}_data`];
let selectedCardNode: Node | null = (this as any)[`card${_index}`];
switch (_index) { if (selectedData && selectedCardNode) {
case 1:
selectedData = this.card1_data;
selectedCardNode = this.card1;
break;
case 2:
selectedData = this.card2_data;
selectedCardNode = this.card2;
break;
case 3:
selectedData = this.card3_data;
selectedCardNode = this.card3;
break;
case 4:
selectedData = this.card4_data;
selectedCardNode = this.card4;
break;
}
if (selectedData && selectedCardNode) {
// 处理物品购买逻辑 // 处理物品购买逻辑
if (this.curCardType === CardType.Potion) { if (this.curCardType === CardType.Potion) {
if (this.purchasedSlots[_index]) { if (this.purchasedSlots[_index]) {