/**
 * 商品中飞刀物品的脚本
 */
var TableReader =require("TableReader");

cc.Class({
    extends: cc.Component,

    properties: {
        yykuang: cc.Node,  //已拥有的框
        zbkuang: cc.Node,  //装备的框    
        maskNode: cc.Node, //遮罩节点
        weapon: cc.Sprite,  //飞镖图片
        labTime: cc.Label,  //飞刀皮肤限用时间
        _data: null,  //data数据
        _gameJS: null, //storeUI脚本this
        _cutTime: null,
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start () {
    },

    init: function(state,gameJS,data){
        this._data =data;
        this._gameJS =gameJS;
        let weapon =null;
        if(cc.HQ.Local.weaponSkin>0){  //皮肤体验的还有次数
            weapon =cc.HQ.Local.knifeSkinId;
            // skin =TableReader.getTableRow("knifeItems",cc.HQ.Local.knifeSkinId);
        }else{
            // weapon =cc.HQ.GameMgr.getCurKnife();  //当前装备的飞刀
            weapon =cc.HQ.GameMgr.onSetCurrSkin();  //显示当前装备的飞刀
            // skin =TableReader.getTableRow("knifeItems",userCurWeapan);
        }
        switch(state){
            case 0:      
                // let weapon =null;
                // if(cc.HQ.Local.weaponSkin>0){  //皮肤体验的还有次数
                //     weapon =cc.HQ.Local.knifeSkinId;
                //     // skin =TableReader.getTableRow("knifeItems",cc.HQ.Local.knifeSkinId);
                // }else{
                //     // weapon =cc.HQ.GameMgr.getCurKnife();  //当前装备的飞刀
                //     weapon =cc.HQ.GameMgr.onSetCurrSkin();  //显示当前装备的飞刀
                //     // skin =TableReader.getTableRow("knifeItems",userCurWeapan);
                // }
                console.log("商城中飞刀物品数量-当前装备",weapon,this._data.goodsId);
                // let weapon = cc.HQ.GameMgr.getCurKnife();
                // this.maskNode.active =false;
                // this.yykuang.active =true;
                if(weapon ==this._data.goodsId){   //当前装备的皮肤
                    this.maskNode.active =false;
                    this.yykuang.active =true; 
                    this.zbkuang.active =true;     
                    //在上方显示飞刀信息 
                    this._gameJS.onDetailInfo(this._data);
                    this._gameJS._wupin ={"data":this._data,"storeKnife":this};  //获取当前选中的飞刀的价格,当前飞刀节点
                }else{
                    this.maskNode.active =false;
                    this.zbkuang.active =false;
                    this.yykuang.active =true;
                }
                //限时使用宝刀
                this.onxianshiUse(weapon);
                //飞镖物品图片显示
                cc.HQ.GameMgr.onReplaceKnife(this.weapon,this._data);
            break;
            case 1:
                //体验皮肤武器
                if(weapon ==this._data.goodsId){   //当前装备的体验皮肤
                    this.maskNode.active =false;
                    // this.yykuang.active =true;
                    this.zbkuang.active =true; 
                    this.labTime.node.active =true;
                    this.labTime.string ="体验中";  
                    //在上方显示飞刀信息 
                    this._gameJS.onDetailInfo(this._data);
                    this._gameJS._wupin ={"data":this._data,"storeKnife":this};  //获取当前选中的飞刀的价格,当前飞刀节点
                }
                
                //飞镖物品图片显示
                cc.HQ.GameMgr.onReplaceKnife(this.weapon,this._data);
            break;
            case 2:
                //飞镖物品图片显示
                cc.HQ.GameMgr.onReplaceKnife(this.weapon,this._data);
            break;
        }
    },

    //限时使用宝刀
    onxianshiUse: function(weaponNum){
        // 当前装备是屠龙刀时，即有限定使用时间为一天
        let myArr =cc.HQ.GameMgr.getKnife();   //拥有的飞刀
        myArr =cc.HQ.GameMgr.onChangeData(myArr);
        console.log("显不显示倒计时000000",myArr);
        if(this._data.goodsId == 82){   //当用户拥有这些限时的武器皮肤时就要显示倒计时 (如:屠龙刀...)
        // if(weapon ==82){
            console.log("显不显示倒计时");
            // this.labTime.node.active =true;  
            let baodaoTime =cc.HQ.GameMgr.getBaodaoTime();
            let curDate =Date.now();   //当天的当前时间
            if(curDate > (Number(baodaoTime)+60000)){
                this.labTime.node.active =false;
                // this.maskNode.active =true;
                // // this.zbkuang.active =false;
                // this.yykuang.active =false;
            }else{
                // this.maskNode.active =false;
                // this.yykuang.active =true;
                // this.zbkuang.active =true;
                //宝刀使用时间倒计时
                this.onTimeDown(((Number(baodaoTime)+60000)-curDate)/1000);
            }
        }
        // if(myArr.indexOf(weaponNum) == -1){   //当前是体验皮肤
        //     this.labTime.node.active =true;
        //     this.labTime.string ="体验中";
        // }else{
            // if(weaponNum ==82){
            //     if(curDate > (Number(baodaoTime)+600000)){
            //         this.labTime.node.active =false;
            //         this.maskNode.active =true;
            //         // this.zbkuang.active =false;
            //         this.yykuang.active =false;
            //     }else{
            //         this.maskNode.active =false;
            //         this.yykuang.active =true;
            //         // this.zbkuang.active =true;
            //         //宝刀使用时间倒计时
            //         this.onTimeDown(((Number(baodaoTime)+600000)-curDate)/1000);
            //     }     
            // }
        // }

    },

    //宝刀使用时间倒计时  (屠龙宝刀)
    onTimeDown:function(time){
        var self = this;
        if(time && time > 0 ){
            self._cutTime = time;
            // self.labTime.string ="试用:"+cc.HQ.Global.getTimeStringBySecond(self._cutTime);
            // console.log("倒计时111",cc.HQ.Global.getTimeStringBySecond(self._cutTime));
            if (self.timeDown){
                self.unschedule(this.timeDown);
            }
            self.timeDown = () =>{
                if(self._cutTime <= 0) {
                    // 在倒计时为0回调时取消这个计时器
                    self.unschedule(this.timeDown);
                    console.log("计时器@@@@@@@@@@",self._cutTime);
                    //------------
                    self.labTime.node.active =false;
                    self.maskNode.active =true;
                    self.zbkuang.active =false;
                    self.yykuang.active =false; 
                    //屠龙刀时间一到，默认装备经典皮肤
                    //点击飞刀物品在上方显示对应的飞刀信息
                    let mrdata =TableReader.getTableRow("knifeItems",1);
                    self._gameJS.onDetailInfo(mrdata);
                    let child =self._gameJS.scrollViewContentNode.children;
                    child[0].getChildByName("kuang2").active =true;
                    cc.HQ.GameMgr.setCurKnife(1);  //装备经典皮肤
                    // cc.HQ.GameMgr.setBaodaoTime(0); //屠龙刀记录时间重置
                }
                // self.labTime.string ="试用:"+cc.HQ.Global.getTimeStringBySecond(self._cutTime);
                // console.log("倒计时22222",cc.HQ.Global.getTimeStringBySecond(self._cutTime));
                self._cutTime--;
            }
            self.schedule(this.timeDown, 1);
        }
    },

    //未拥有的飞镖
    onClickTips: function(){
        //未解锁提示
        cc.HQ.Global.showTips(2,"此武器未解锁!",0.1);
    },

    //在已拥有的飞刀中，装备当前飞刀
    onClickBtn: function(){
        console.log("飞刀物品按钮点击");
        if(this.zbkuang.active){  //当前已装备的飞刀皮肤
            cc.HQ.Global.showTips(2,"无法再次装备!",0.1);
            return;
        }
        if(this.yykuang.active){   //在已有的飞刀中装备当前飞刀皮肤
            //当前装备的飞刀皮肤
            cc.HQ.GameMgr.setCurKnife(this._data.goodsId);
            //在商城更换武器后，体验次数清空
            cc.HQ.Local.weaponSkin =0;
            
            this.onEquipSkin();
            cc.HQ.Global.showTips(2,"装备成功!",0.1);
        }

        this._gameJS._wupin ={"data":this._data,"storeKnife":this};  //获取当前选中的飞刀的价格,当前飞刀节点
        
        //点击飞刀物品在上方显示对应的飞刀信息
        this._gameJS.onDetailInfo(this._data);
    },

    //在已拥有的飞刀中装备一把飞刀
    onEquipSkin: function(){
        console.log("选 中的id",this._data.goodsId);
        let child =this._gameJS.scrollViewContentNode.children;
        for(var j in child){
            if(child[j].getChildByName("kuang0").active || child[j].getChildByName("kuang2").active){
                child[j].getChildByName("kuang2").active =false;
                if(child[j].getChildByName("labTime").getComponent(cc.Label).string =="体验中"){   //"体验中"文本隐藏
                    child[j].getChildByName("labTime").active =false;
                }
            }
        }

        this.zbkuang.active =true; 
    },


    // update (dt) {},
});
