觉醒时刻
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
juexingshike/assets/Scripts/WenZiRes/ui/levelSelectNew.ts

209 lines
8.0 KiB

// Learn TypeScript:
// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
import { ryw_Event } from "../../../FrameWork/Event/EventEnum";
import EventMgr from "../../../FrameWork/Event/EventMgr";
import GameReport, { ENTERTYPE } from "../../../FrameWork/Report/ZyZyReport";
import User from "../../../FrameWork/User/User";
import Common5 from "../../../Platform/th/Common5";
import Game from "./Game";
import DayUnlock from "../../../FrameWork/Mgr/DayUnlock";
import LevelUnlock from "./UnlockLevels";
import PrefabManage, { GameType } from "../../PrefabManager/PrefabManage";
const { ccclass, property } = cc._decorator;
@ccclass
export default class LevelSelectNew extends cc.Component {
// onLoad () {}
isUnLock: boolean = false;
level: number = 0;
index: number = 0;
type: number = 0;
isLoading = false;
@property(cc.Sprite)
levelImg: cc.Sprite = null;
@property(cc.Node)
newLevel: cc.Node = null;
@property(cc.Node)
hotLevel: cc.Node = null;
@property(cc.Label)
levelName: cc.Label = null;
start() {
this.updateUI();
EventMgr.onEvent_custom(ryw_Event.unLockLevel, () => {
this.updateUI();
}, this)
EventMgr.onEvent_custom(ryw_Event.unLockAllLevelTmp, () => {
this.updateUI();
}, this)
EventMgr.onEvent_custom(ryw_Event.updateLevel, () => {
this.updateUI();
}, this)
// console.log("this.level-------"+this.level,this.index)
Common5.btnRegister_custom(this.node, () => {
Common5.selectGameInfo = Common5.gameConfig.zmGameConfig[this.level];
let bundle = Common5.selectGameInfo.bundle
if(bundle.includes('Level')){
PrefabManage.loadPrefabByType(GameType.WZ_GameMainZC,null,()=>{
this.scheduleOnce(()=>{
this.clickFuncZC();
})
})
}else{
PrefabManage.loadPrefabByType(GameType.WZ_GameMain,null,()=>{
this.scheduleOnce(()=>{
this.clickFunc();
})
})
}
})
}
setLevel(lvl, index) {
this.level = lvl;
this.index = index;
this.levelName.string = Common5.gameConfig.zmGameConfig[this.level].title2;
// console.log("this.index",this.index);
}
clickFuncZC(){
}
clickFunc() {
PrefabManage.showLoading(true)
if (this.isUnLock || DayUnlock.getDayUnlockVideoAllTime() > 0) {
Common5.stopMusic();
//GameReport.EnterReport(ENTERTYPE.XUANGUAN,Common5.selectGameInfo.title2);
Common5.showAllGameUnLock = true
EventMgr.emitEvent_custom(ryw_Event.loadGame)
Common5.selectGameNum = this.level;
Common5.wordGameType = this.type;
if (Common5.selectGameInfo.subbundle !="" && Common5.selectGameInfo.subbundle != undefined){
let subbundle = cc.assetManager.loadBundle(Common5.selectGameInfo.subbundle,(err,subbundle)=>{
cc.assetManager.loadBundle(Common5.selectGameInfo.bundle, function (err: Error, bundle: cc.AssetManager.Bundle) {
Common5.getPrefabFromBundlePrefabLayer(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,Game.ins.node.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{
// if (Common5.selectGameNum != 0){
// User.setFirstIn(false);
// }
PrefabManage.showLoading(false)
if (Common5.selectGameInfo.isTer){
PrefabManage.loadPrefabByType(GameType.WZ_TerrTip)
}
User.setLeveNum_custom(Common5.selectGameNum);
Game.ins.reset();
})
});
})
}
else {
cc.assetManager.loadBundle(Common5.selectGameInfo.bundle, function (err: Error, bundle: cc.AssetManager.Bundle) {
Common5.getPrefabFromBundlePrefabLayer(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,Game.ins.node.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{
// if (Common5.selectGameNum != 0){
// User.setFirstIn(false);
// }
PrefabManage.showLoading(false)
if (Common5.selectGameInfo.isTer){
PrefabManage.loadPrefabByType(GameType.WZ_TerrTip)
}
User.setLeveNum_custom(Common5.selectGameNum);
Game.ins.reset();
})
});
}
}
else {
PrefabManage.loadPrefabByType(GameType.WZ_LevelUnlock,null,(node: cc.Node) => {
node.getComponent(LevelUnlock).setLevel(this.level, this.type);
})
return;
}
}
updateUI() {
let allUnlock = false;
console.log(DayUnlock.getDayUnlockVideoAllTime(), 'getDayUnlockVideoAllTime')
if (DayUnlock.getDayUnlockVideoAllTime() > 0) {
allUnlock = true;
// return;
}
let use = User.getLevelAryy_custom();
if (use[this.level] == 1) {
this.isUnLock = true;
}
if (this.index == 0 && Common5.curWordGameType == 0) {
this.isUnLock = true;
User.setLeveNum_custom(this.level);
}
if (this.isUnLock || allUnlock){
let allSuccess = User.getSuccessLevels()
for (let i = 0; i < allSuccess.length; i++){
if (this.level == allSuccess[i]){
this.node.getChildByName("success").active = true;
break;
}
}
if (!this.node.getChildByName("success").active){
this.node.getChildByName("xuanzhong").active = true;
}else{
this.node.getChildByName("xuanzhong").active = false;
}
}
// if (this.level == Common5.UNLOCKGAME_ID) {
// this.isUnLock = true;
// User.setlevelNum_Word_Array_custom(this.level);
// }
if (Common5.gameConfig.zmGameConfig[this.level].tag){
if (Common5.gameConfig.zmGameConfig[this.level].tag == "hot"){
this.hotLevel.active = true;
this.newLevel.active = false;
}
else if (Common5.gameConfig.zmGameConfig[this.level].tag && Common5.gameConfig.zmGameConfig[this.level].tag == "new"){
this.newLevel.active = true;
this.hotLevel.active = false;
}
}
else {
this.newLevel.active = false;
this.hotLevel.active = false;
}
Common5.getSpriteFrameFromBundle("ZoomGame", "texure/zoomLevel/" + Common5.gameConfig.zmGameConfig[this.level].unlockImg, this.levelImg);
if (this.isUnLock || allUnlock) {
this.node.getChildByName("lock").active = false;
this.node.getChildByName("unlock").active = true;
}
else {
this.node.getChildByName("lock").active = true;
this.node.getChildByName("unlock").active = false;
}
}
updateUITmpUnlock() {
this.node.getChildByName("lock").active = false;
this.node.getChildByName("unlock").active = true;
}
setType(type) {
this.type = type;
}
}