import GameMgr from "../../FrameWork/Mgr/GameMgr";
import User from "../../FrameWork/User/User";
import Common5 from "../../Platform/th/Common5";
import PrefabManage from "../PrefabManager/PrefabManage";

const { ccclass, property } = cc._decorator;

@ccclass
export default class SingleItem extends cc.Component {

    @property(cc.Label)
    gameTitle: cc.Label = null;

    @property(cc.Sprite)
    gameIcon: cc.Sprite = null;

    @property(cc.Node)
    levelPoint: cc.Node[] = [];

    @property(cc.Node)
    levelMasks: cc.Node[] = [];

    @property(cc.Node)
    lightEffect: cc.Node = null;

    curConfig = null;
    itemState = 0; //0 未开发 1 未解锁 2 已通关 3 已解锁


    initView(config) {
        this.curConfig = config;

        this.gameTitle.string = config.title;
        Common5.getSpriteFrameFromBundle("FirstSelectScene", "picture/zoomLevel/" + config.titleIconUrl, this.gameIcon);
        for (const point of this.levelPoint) {
            point.getChildByName("lab").getComponent(cc.Label).string = config.index + 1;
        }
        this.updateUI();
    }

    updateUI() {
        for (const mask of this.levelPoint) {
            mask.active = false;
        }
        for (const mask of this.levelMasks) {
            mask.active = false;
        }
        this.lightEffect.active = false;

        if (!this.curConfig.isCanPlay) {
            this.levelPoint[2].active = true;
            this.levelMasks[3].active = true;
            this.itemState = 0;
            return;
        }

        let curGameLevelIndex = User.getCurGameLevelIndex();
        if (this.curConfig.index > curGameLevelIndex) {
            this.levelPoint[2].active = true;
            this.levelMasks[2].active = true;
            this.itemState = 1;
        } else if (this.curConfig.index < curGameLevelIndex) {
            this.levelPoint[0].active = true;
            this.levelMasks[0].active = true;
            this.itemState = 2;
        } else {
            this.levelPoint[1].active = true;
            this.levelMasks[1].active = true;
            this.itemState = 3;
            this.lightEffect.active = true;
            cc.tween(this.lightEffect)
                .to(1, { opacity: 100 })
                .to(1, { opacity: 255 })
                .union()
                .repeatForever()
                .start();
        }
    }

    onItemClick() {
        // //Common5.playEffect("sound/按键点击");
        if (this.itemState == 0) {
            PrefabManage.showTextTips('正在努力开发中!');
            return;
        } else if (this.itemState == 1) {
            PrefabManage.showTextTips('未来还没来,一切皆可能');
            return;
        } else if (this.itemState == 2) {
            PrefabManage.showTextTips('过去已过去,计较也无用');
            return;
        }

        Common5.selectGameInfo = this.curConfig;
        // GameMgr.getInstance_custom().onLoadToGameScene_custom();
    }
}