| 
					
				 | 
			
			
				@@ -0,0 +1,53 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { _decorator, find, Label, math, Node, Rect, UITransform } from 'cc'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { TouchMgr } from './TouchMgr'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { CharacterSlotMgr } from './CharacterSlotMgr'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { UIMgr } from '../../Frames/UIManager'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { PopupUI } from '../UI/PopupUI'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { UIType } from '../GameFrameWork/UIBase'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { PopupUIDataConfig } from './GameScene/Data/PopupUIDataConfig'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const { ccclass, property } = _decorator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@ccclass('TouchCharacterSlot') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export class TouchCharacterSlot extends TouchMgr { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private _characterSlot: Node = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private unLock: Node = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected onLoad(): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._characterSlot = this.node.parent.getChildByName("CharacterSlot"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    func(pos: math.Vec2): void { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.node.parent.getChildByName("CharacterSlot").getComponent(CharacterSlotMgr).removeCardImg(pos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (const node of this._characterSlot.children) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (node.getChildByName("Label").active) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const box: Rect = node.getComponent(UITransform).getBoundingBoxToWorld(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (box.contains(pos)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    this.unLock = node; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PopupUIDataConfig.Instance.setUIName("解锁"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PopupUIDataConfig.Instance.setTypeImg("Lock"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PopupUIDataConfig.Instance.setTypeMoney("Gold"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PopupUIDataConfig.Instance.setLabel( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        `可用卡槽:${PopupUIDataConfig.Instance.getAvailableCardSlot()}`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        `下一级:${PopupUIDataConfig.Instance.getAvailableCardSlot() + 1}`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        `耗费:`, `2000`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    PopupUIDataConfig.Instance.setFunction(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.closeNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    UIMgr.openUI("PopupUI", UIType.WIDGET); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeNode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.unLock) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.unLock.getChildByName("Lock").active = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.unLock.getChildByName("Label").active = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PopupUIDataConfig.Instance.setAvailableCardSlot(PopupUIDataConfig.Instance.getAvailableCardSlot() + 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const indexNext: number = this.unLock.getSiblingIndex(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (indexNext === this.unLock.parent.children.length - 1) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const nodeNext = this.unLock.parent.children[indexNext + 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            nodeNext.getChildByName("Lock").active = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            nodeNext.getChildByName("Label").active = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |