refactor(MissionCardComp): 使用动态属性访问简化冗余的switch逻辑
This commit is contained in:
@@ -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]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user