// Learn TypeScript:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
// Learn Attribute:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html

import { ryw_Event } from "../../FrameWork/Event/EventEnum";
import EventMgr from "../../FrameWork/Event/EventMgr";
import User from "../../FrameWork/User/User";
import Common5 from "../../Platform/th/Common5";
import List from "../../Platform/th/List";
import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager";
import FangChanManager from "../Manager/FangChanManager";
import JieDaoManager from "../Manager/JieDaoManager";
import PrefabManage from "../PrefabManager/PrefabManage";
import JieDaoItemNode from "./JieDaoItemNode";

const { ccclass, property } = cc._decorator;

@ccclass
export default class JieDao extends cc.Component {

    @property(cc.Prefab)
    item: cc.Prefab = null;

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

    @property(List)
    listCJ: List = null;
    dataListCJ: any[];
    Config: { level: number; icon: string; isNeedAd: boolean; name: string; descLab: string; miaozhuan: number; jiesuoMoney: number; jiesuoBeiShu: number; }[];



    // LIFE-CYCLE CALLBACKS:

    // onLoad () {}

    start() {
        this.init()
        this.scheduleOnce(() => {
            this.setList()
        }, 0.01)
    }

    init() {
        this.refreshLevelUpMoney()
        // let ziChanData = User.getZiChanData()
        // // this.curshouyi.string = `当前收益:${ziChanData.curshouyi}`
        // let getnum = 0
        // let allnum = 0
        // let beishu = 0
        // let iconIndex = 0
        // for (let i = 0; i < ziChanData.unLockNum.length; i++) {
        //     if (ziChanData.unLockNum[i] > 0) {
        //         getnum += ziChanData.unLockNum[i]
        //         beishu += this.Config[i].jiesuoBeiShu[ziChanData.unLockNum[i] - 1]
        //         iconIndex = i
        //     }
        // }
        // for (let i = 0; i < this.Config.length; i++) {
        //     allnum += this.Config[i].shuliang
        // }
        // let arr = [2, 3, 4, 4]
        // Common5.getSpriteFrameFromBundle("ZiChan", `res/big/${arr[iconIndex]}`, this.icon)
    }

    setList() {
        this.Config = JieDaoManager.getManagerConfigs()
        let level = JieDaoManager.getJieDaoLevel()
        let haveConfig = []
        for (let i = 0; i < this.Config.length; i++) {
            if (i <= level) {
                haveConfig.push(this.Config[i])
            }
        }
        let array = haveConfig
        this.dataListCJ = []
        for (let n = 0; n < array.length; n++) {
            this.dataListCJ.push(array[n]);
        }
        this.listCJ.numItems = this.dataListCJ.length;

        // let index = TanWeiManager.getLockItemIndex()
        this.listCJ.scrollTo(0)
    }
    onListMGridRender(item: cc.Node, idx: number) {

        let config = this.dataListCJ[idx]
        // console.log(config)
        let danItem: JieDaoItemNode = item.getComponent('JieDaoItemNode')
        danItem.init(config)
    }

    onTouchClose() {
        // if (TaskManager.getCurUnLockMainTaskId() == MainTaskIdEnum.MainTask_514_2 && !cc.sys.localStorage.getItem("房产引导") && FangChanManager.getRoomState(3) != 1) {
        //     User.setFirstStepIndex(1102)
        //     EventMgr.emitEvent_custom(ryw_Event.My_Guide)
        // }
        this.node.removeFromParent()
        this.node.destroy()
    }

    onTouchShengJi() {
        Common5.playRemoteAudioEffect('sound/diandiandian/升级音效')
        let money = User.getMoney()
        let getJieDaoLevel = JieDaoManager.getJieDaoLevel() + 1
        let getJieDaoConfigByLevel = JieDaoManager.getJieDaoConfigByLevel(getJieDaoLevel)
        if (money >= getJieDaoConfigByLevel.jiesuoMoney) {
            JieDaoManager.setJieDaoLevel(getJieDaoLevel)
            getJieDaoConfigByLevel = JieDaoManager.getJieDaoConfigByLevel(getJieDaoLevel)
            this.dataListCJ.push(getJieDaoConfigByLevel);
            this.listCJ.numItems = this.dataListCJ.length;
            this.refreshLevelUpMoney()
        } else {
            PrefabManage.showTextTips("先去赚钱吧")
        }
    }

    refreshLevelUpMoney() {
        let getJieDaoLevel = JieDaoManager.getJieDaoLevel() + 1
        if (getJieDaoLevel >= JieDaoManager.getManagerConfigs().length) {
            this.levelUpMoney.node.parent.getComponent(cc.Button).interactable = false
            return
        }
        let getJieDaoConfigByLevel = JieDaoManager.getJieDaoConfigByLevel(getJieDaoLevel)
        this.levelUpMoney.string = `${Common5.getNumberChangeHanzi(getJieDaoConfigByLevel.jiesuoMoney)}`
    }

    // update (dt) {}
}