| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							- import { _decorator, Component, instantiate, Node, Sprite, UITransform, Vec2 } from 'cc';
 
- import { resMgr } from '../../Frames/ResourcesMgr';
 
- import { RoleCard } from './RoleCard';
 
- import { RoleData } from '../../DataItem/ItemData';
 
- import { dataMgr } from '../../Frames/DataManager';
 
- const { ccclass, property } = _decorator;
 
- @ccclass('RoleList')
 
- export class RoleList extends Component {
 
-     _content: Node = null;
 
-     private _roleData: RoleData[] = null;
 
-     private _characterSlot: Node = null;
 
-     roleImgName: string = null;
 
-     roleCardState: boolean = null;
 
-     protected onLoad() {
 
-         this._roleData = dataMgr.getAllDataByName("RoleCardData");
 
-         this._content = this.node.getChildByPath("view/content");
 
-         this._characterSlot = this.node.parent.getChildByPath('SelectTroops_Bottom/CharacterSlot');
 
-     }
 
-     protected start(): void {
 
-         this._roleData.forEach((values, index) => {
 
-             this._createRoleCard(index);
 
-         })
 
-     }
 
-     //创建角色卡
 
-     private _createRoleCard(id: number) {
 
-         const roleCard: Node = instantiate(resMgr.getPrefab("RoleCard-Big"));
 
-         roleCard.parent = this._content;
 
-         roleCard.getComponent(RoleCard).init(id, this._roleData);
 
-     }
 
-     //打开阴影遮罩
 
-     openShadow(pos: Vec2) {
 
-         for (const roleCard of this._content.children) {
 
-             const box = roleCard.getComponent(UITransform).getBoundingBoxToWorld();
 
-             if (box.contains(pos)) {
 
-                 //获取 RoleList 节点下的子节点 content 的子节点的脚本
 
-                 const roleCardTS = roleCard.getComponent(RoleCard);
 
-                 //如果Shadow(阴影遮罩)是关闭的
 
-                 if (!roleCardTS.getShadowState()) {
 
-                     //遍历角色卡槽的子节点
 
-                     for (const card of this._characterSlot.children) {
 
-                         let sprite = card.getChildByName("Sprite").getComponent(Sprite);
 
-                         let label = card.getChildByName("Label");
 
-                         if(label.active){
 
-                             return;
 
-                         }
 
-                         //如果角色卡槽没有角色图片 以及 "解锁卡槽" 节点的关闭的
 
-                         if (!sprite.spriteFrame && !label.active) {
 
-                             //打开Shadow
 
-                             roleCardTS.isOpenShadow(true);
 
-                             sprite.spriteFrame = resMgr.getSpriteFrame(roleCardTS.getRoleImgName());
 
-                             return;
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |