| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | 
							- import { _decorator, Button, Component, Node, director, PageView, resources, SpriteAtlas, error, Asset, Sprite, UITransform, SpriteFrame } from 'cc';
 
- import { GameInfo } from './GameInfo';
 
- import { resMgr } from './Frames/ResourcesMgr';
 
- import { gameResMgr } from './Game/GameResMgr';
 
- const { ccclass, property } = _decorator;
 
- @ccclass('SelectLevel')
 
- export class SelectLevel extends Component {
 
-     selectTheme: Node = null;
 
-     pageViewLv: Node = null;
 
-     btnStart: Node = null;
 
-     btnBack: Node = null;
 
-     private _themeBgLeft: Node = null;
 
-     private _themeBgRight: Node = null;
 
-     protected onLoad(): void {
 
-         this.btnStart = this.node.getChildByPath("UI_SelectLv/BtnStart");
 
-         this.btnBack = this.node.getChildByPath("UI_SelectLv/BtnBack");
 
-         this.selectTheme = this.node.parent.getChildByPath("SelectTheme");
 
-         this.pageViewLv = this.node.getChildByName("PageViewLv");
 
-         this._themeBgLeft = this.node.getChildByName("Theme_bgLeft");
 
-         this._themeBgRight = this.node.getChildByName("Theme_bgRight");
 
-     }
 
-     protected onEnable(): void {
 
-         this._loadLvRes();
 
-         this.btnStart.getComponent(Button).interactable = true;
 
-     }
 
-     start() {
 
-         //this._LoadLvRes();
 
-         
 
-         this.btnStart.on(Button.EventType.CLICK,this.onBtnStart,this);
 
-         this.btnBack.on(Button.EventType.CLICK,this.onBtnBack,this);
 
-         this.pageViewLv.on(PageView.EventType.PAGE_TURNING,()=>{
 
-             //滑动过程当中 “开始游戏” 按钮无效
 
-             this.btnStart.getComponent(Button).enabled = false;
 
-         })
 
-         this.pageViewLv.on(PageView.EventType.SCROLL_ENDED,()=>{
 
-             //滑动结束 “开始按钮” 生效
 
-             this.btnStart.getComponent(Button).enabled = true;
 
-         })
 
-         //true=>当前主题都可以玩,“开始按钮”不用禁用
 
-         if(GameInfo.Instance.isAllLvUnlocked()){
 
-             return;
 
-         }
 
-         this.pageViewLv.on(PageView.EventType.SCROLL_ENDED,()=>{
 
-             const index = this.pageViewLv.getComponent(PageView).curPageIdx + 1;
 
-             this.btnStart.getComponent(Button).interactable = (index <= GameInfo.Instance.UnLockLv);
 
-             // if(index > GameInfo.Instance.UnLockLv){
 
-             //     this.btnStart.getComponent(Button).interactable = false;
 
-             // } else {
 
-             //     this.btnStart.getComponent(Button).interactable = true;
 
-             // }
 
-         })
 
-     }
 
-     async onBtnStart(){
 
-         GameInfo.Instance.CurLv = this.pageViewLv.getComponent(PageView).curPageIdx + 1;
 
-         await gameResMgr.loadGameRes()
 
-         director.loadScene("MainScene");
 
-     }
 
-     onBtnBack(){
 
-         //清空pageView的content下的节点
 
-         this.pageViewLv.getComponent(PageView).removeAllPages();
 
-         //选关节点隐藏,选主题节点激活
 
-         if(this.node.active){
 
-             if(!this.selectTheme.active){
 
-                 this.selectTheme.active = true;
 
-             }
 
-             this.node.active = false;
 
-         }
 
-     }
 
-     //资源导入
 
-     private _loadLvRes(){
 
-         const theme = GameInfo.Instance.CurTheme;
 
-         for(let i = 1; i <= 12; i++){
 
-             let name: string = "000" + i;
 
-             name = name.slice(name.length - 2);
 
-             name = `Theme${theme}_map${name}`;
 
-             const frame = resMgr.getSpriteFrame(name);
 
-             this.pageViewLv.getComponent(PageView).addPage(this._setNode(frame));
 
-         }
 
-         this._themeBgLeft.getComponent(Sprite).spriteFrame = resMgr.getSpriteFrame("Theme"+ theme + "_bgLeft");
 
-         this._themeBgRight.getComponent(Sprite).spriteFrame = resMgr.getSpriteFrame("Theme" + theme + "_bgRight");
 
-         // resources.load("Res/ThemeMap/Theme0" + theme ,SpriteAtlas,(error:Error | null,asset:SpriteAtlas)=>{
 
-         //     if(error){
 
-         //         console.error("No found Theme0" + theme);
 
-         //     } else {
 
-         //         for (const frame of asset.getSpriteFrames()) {
 
-         //             if(frame.name.includes("_map")){
 
-         //                 this.pageViewLv.getComponent(PageView).addPage(this._setNode(frame));
 
-         //             }
 
-         //         }
 
-         //         this._themeBgLeft.getComponent(Sprite).spriteFrame = asset.getSpriteFrame("Theme"+ theme + "_bgLeft");
 
-         //         this._themeBgRight.getComponent(Sprite).spriteFrame = asset.getSpriteFrame("Theme" + theme + "_bgRight");
 
-         //     }
 
-         // })
 
-     }
 
-     //设置PageView的页面
 
-     private _setNode(frame: SpriteFrame): Node{
 
-         const node = new Node();
 
-         node.addComponent(Sprite);
 
-         node.getComponent(UITransform).setContentSize(500, 300);
 
-         node.getComponent(Sprite).sizeMode = Sprite.SizeMode.CUSTOM;
 
-         node.getComponent(Sprite).type = Sprite.Type.SLICED;
 
-         node.getComponent(Sprite).spriteFrame = frame;
 
-         return node;
 
-     }
 
-     update(deltaTime: number) {
 
-         
 
-     }
 
- }
 
 
  |