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

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

View File

@@ -201,24 +201,9 @@ export class MissionCardComp extends CCComp {
}
updateCardData(index: number, data: any) {
switch (index) {
case 1:
this.card1_data = 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;
}
// 使用动态属性访问,简化 switch 冗余代码
(this as any)[`card${index}_data`] = data;
this.updateCardInfo((this as any)[`card${index}`], data);
}
selectCard(e: any, index: string) {
@@ -227,27 +212,9 @@ export class MissionCardComp extends CCComp {
// 如果已经选择过,则不再处理
if (this.hasSelected) return;
let selectedData: any = null;
let selectedCardNode: Node | null = null;
switch (_index) {
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;
}
// 动态获取数据和节点,简化 switch 逻辑
let selectedData: any = (this as any)[`card${_index}_data`];
let selectedCardNode: Node | null = (this as any)[`card${_index}`];
if (selectedData && selectedCardNode) {
// 处理物品购买逻辑