const PlayerState = require('PlayerState');
//todo 拿标枪没时间解释了
cc.Class({
    extends: cc.Component,

    properties: {
        javelin_prefab:{//标枪计距带起点
            default:null,
            type:cc.Prefab
        },
        inTag1 : false,
        inTag2 : false,
    },

    start: function () {

    },


    onCollisionEnter: function (other,self) {
        // cc.log("上车",other,self);
        // cc.log("我进来了吗",other.node.name);
        if(other.node.name === 'PlayerCollisionLine') {
            if (other.node.parent.parent.name == "Hero") {
                // cc.log("我进来了吗 111",other.node.parent.parent.name);
                if (!this.inTag1) {
                    this.inTag1 = true;
                }else{
                    return;
                }
                // CustomLog("下面的 碰到了",other.node);
                // var HeroControl = cc.find("Hero").getComponent("HeroControl");
                // if (HeroControl != null) {
                //     HeroControl.upJavelin();
                //     cc.find("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = 0;
                //     cc.find("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = PlayerState.SpeedRangeForAnimation.SlowSpeed[1];
                // }
                // //卧倒

                // this.Javelin1.destroy();
                // this.javelin();
                var Hero =  cc.find("Hero");
                // var networkUITest = Hero.getComponent('NetworkSocket');
                var HeroControl = Hero.getComponent('HeroControl');
                HeroControl.javelinHero("Hero");
                
                //todo 通知客户端扔标枪
                // var Hero =  cc.find("Hero");
                // var networkUITest = Hero.getComponent('NetworkSocket');
                // // cc.log("发布的 111",'Herojavelin');
                // var  data = {FunctionName:'Herojavelin',ParentName:Hero.parent.name,ObjName:Hero.name,PositionX:Hero.convertToWorldSpaceAR(cc.Vec2.ZERO).x};
                // networkUITest.sendSyncData(JSON.stringify(data));
            }
            if (other.node.parent.parent.name == "Rivel") {
                return;
                // cc.log("我进来了吗 222",other.node.parent.parent.name);
                if (!this.inTag2) {
                    this.inTag2 = true;
                }else{
                    return;
                }
                // CustomLog("上面的 碰到了",other.node);
                var Hero =  cc.find("Hero");
                // var networkUITest = Hero.getComponent('NetworkSocket');
                var HeroControl = Hero.getComponent('HeroControl');
                HeroControl.javelinRivel("Rivel");
                // var  data = {Name:'Riveljavelin',ParentName:Hero.parent.name,ObjName:Hero.name,PositionX:Hero.convertToWorldSpaceAR(cc.Vec2.ZERO).x};
                // networkUITest.sendSyncData(JSON.stringify(data));
            }





            // scene.getChildByName("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = PlayerState.SpeedRangeForAnimation.SlowSpeed[1];
                // scene.getChildByName("Hero").getComponent("HeroControl").setSeeds(0);
                // this.node.destroy();
            // charactor.setInterruptListener(function (name) {
            //     cc.log("有么 播放了吗",name);
            //     // if (name == "bybike_redy_boy") {
            //     //     charactor.spine.timeScale = 1;
            //     //     scene.getChildByName("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = PlayerState.SpeedRangeForAnimation.SlowSpeed[1];
            //     //     // scene.getChildByName("Hero").getComponent("HeroControl").setSeeds(0);
            //     //     this.node.destroy();
            //     //     charactor.setInterruptListener(null);
            //     // }
            //
            //
            //
            //
            //
            // }.bind(this));


        }
        // this.node.getComponent("HurdleBandCharactor").collode();
        // console.log('预制撞倒栏杆',other,self);
        // if(other.node.name === 'PlayerCollisionLine')
        // {
        //     var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
        //     var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
        //     PlayerStateScript.CurrentInZoneType = 'PerfectHurdleBand';
        //
        //     // cc.log(PlayerStateScript.CurrentInZoneType );
        // }
    },
    onCollisionStay: function (other,self) {
        // console.log('on collision stay');
    },
    onCollisionExit: function (other,self)
    {
    //     if(other.node.name === 'PlayerCollisionLine') {
    //         var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
    //         var HeroControlScript = PlayerCollisionLine.Hero.getComponent("HeroControl");
    //         var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
    //         if(!PlayerStateScript.BTouchedScreenInTheZone)
    //         {
    //             HeroControlScript.Stagger();
    //         }
    //         PlayerStateScript.CurrentInZoneType = 'None';
    //         PlayerStateScript.BTouchedScreenInTheZone = false;
    //     }
    },
    // 只在两个碰撞体开始接触时被调用一次
    // onBeginContact: function (contact, selfCollider, otherCollider) {
    //     CustomLog("扔标枪,",selfCollider,otherCollider);
    //     if(otherCollider.node.name === 'Hero')
    //     {
    //         //获取场景
    //         var scene = cc.director.getScene();
    //         // cc.log("父亲",scene);
    //         var charactor = scene.getChildByName("Hero").getChildByName("Player").getComponent("Charactor");
    //         // cc.log("有么",charactor);
    //         var HeroControl = scene.getChildByName("Hero").getComponent("HeroControl");
    //
    //
    //         if (HeroControl != null) {
    //             // charactor.javelin();
    //             var Player = scene.getChildByName("Hero").getChildByName("Player");
    //             var Hero = scene.getChildByName("Hero");
    //
    //             //扔标枪
    //             HeroControl.upJavelin_go();
    //             this.seend = HeroControl.PlayerStateScript.CurrentSpeed;
    //             // HeroControl.PlayerStateScript.CurrentSpeed = 300;
    //             // return;
    //             // scene.getChildByName("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = 1000;
    //             // var seend = HeroControl.PlayerStateScript.CurrentSpeed;
    //             // HeroControl.PlayerStateScript.CurrentSpeed = 0;
    //
    //             setTimeout(function () {
    //                 var tPrefab = this.tPrefabs = cc.instantiate(this.javelin_prefab);
    //                 var Level = cc.find("Level");
    //
    //                 var Hero = cc.find("Hero");
    //                 Hero.getComponent("Distance").startDistance(1,true);
    //                 tPrefab.parent = Hero;
    //                 // tPrefab.parent = Player;
    //                 // tPrefab.parent = scene;
    //                 tPrefab.zIndex = 999;
    //                 // tPrefab.setPosition(Player.x,Player.y);
    //
    //                 var PlayerCollisionLine = cc.find("Hero/Player/PlayerCollisionLine");
    //                 // cc.log("标枪预制 最大",scene);
    //                 // cc.log("标枪预制 人",Hero.x,Hero.y);
    //                 // cc.log("标枪预制 Level",Level.x,Level.y);
    //                 tPrefab.setPosition(100,-50);
    //
    //                 this.tPrefabs = tPrefab;
    //
    //                 // scene.getChildByName("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = 0;
    //                 // return;
    //                 var CameraContainer = cc.find("CameraContainer");
    //                 var CameraControl = CameraContainer.getComponent("CameraControl");
    //                 // cc.log("有东西吗",CameraContainer);
    //                 var temp =  CameraControl.target;
    //
    //                 // charactor.readyRun();
    //                 // tPrefab.getComponent("Charactor_javeLin").javelin(function () {
    //                 //     cc.log("标枪 动作 开始");
    //                 // }.bind(this),function () {
    //                 //     cc.log("标枪 动作 结束");
    //                 // }.bind(this));
    //
    //                 // scene.getChildByName("Hero").getComponent("HeroControl").PlayerStateScript.CurrentSpeed = 0;
    //                 // temp.setScale(0);
    //
    //                 // CameraControl.target = tPrefab;
    //                 //
    //                 // var Camera = CameraContainer.getChildByName("Camera").getComponent(cc.Camera);
    //                 // cc.log("相机观察列表",Camera.getTargets());
    //
    //                 // Camera.addTarget(tPrefab);
    //                 var HeroControl = scene.getChildByName("Hero").getComponent("HeroControl");
    //                 var data = {
    //                     duration : 3.5,
    //                     position : 0,
    //                     y : -70,
    //                     height : 500,
    //                     jumps : 1
    //                 };
    //                 // Player.active = false;
    //
    //                 tPrefab.getComponent("Charactor_javeLin").javelin(data,function () {
    //                     // cc.log("标枪 动作 开始");
    //                     // cc.log("人的位置 开始","x",Hero.x,"y",Hero.y);
    //                     var datas = {
    //                         duration : 1,
    //                         position : -1000,
    //                         y : 0
    //                     };
    //                     this.javelinmove(datas,Player);
    //                     HeroControl.PlayerStateScript.CurrentSpeed = this.seend + 1000;
    //
    //                 }.bind(this),function () {
    //                     // cc.log("标枪 动作 结束",tPrefab.getPosition());
    //                     // cc.log("人的位置","x",Hero.x,"y",Hero.y);
    //                     var Level = cc.find("Level");
    //
    //                     // tPrefab.parent = Level;
    //                     // tPrefab.setPosition(500,0);
    //                     // Player.active = true;
    //                     // CameraControl.target = temp;
    //                     // temp.setScale(0.2);
    //                     HeroControl.PlayerStateScript.CurrentSpeed = 0;
    //
    //                     var datas = {
    //                         duration : 2,
    //                         position : 1000,
    //                         y : 0
    //                     };
    //                     charactor.readyRun();
    //
    //                     //人物进场
    //                     this.javelinmove(datas,Player,null,function () {
    //                         // var p = scene.getChildByName("Hero").getPosition();
    //
    //                         var p = tPrefab.getBoundingBoxToWorld();
    //                         var p1 = tPrefab.getPosition();
    //                         tPrefab.parent = Level;
    //
    //                         tPrefab.setPosition(p.x-360,p.y-640);
    //                         CustomLog("现在坐标 父类",p,p1,tPrefab.getBoundingBoxToWorld());
    //                         HeroControl.PlayerStateScript.CurrentSpeed = 500;
    //                         var Hero = cc.find("Hero");
    //                         Hero.getComponent("Distance").startDistance(1,false);
    //                         setTimeout(function () {
    //
    //                             // var datas = {
    //                             //     duration : 2,
    //                             //     position : -1000,
    //                             //     y : 0
    //                             // };
    //                             // this.javelinmove(datas,tPrefab,function () {
    //                             //
    //                             // }.bind(this),function () {
    //                             //     tPrefab.destroy();
    //                             // }.bind(this));
    //
    //                             tPrefab.destroy();
    //                         }.bind(this),3000);
    //
    //                     }.bind(this));
    //
    //
    //
    //
    //                 }.bind(this));
    //                 this.node.destroy();
    //             }.bind(this),500);
    //
    //         }
    //     }
    // },
    //
    // // 只在两个碰撞体结束接触时被调用一次
    // onEndContact: function (contact, selfCollider, otherCollider) {
    // },
    //
    // // 每次将要处理碰撞体接触逻辑时被调用
    // onPreSolve: function (contact, selfCollider, otherCollider) {
    // },
    //
    // // 每次处理完碰撞体接触逻辑时被调用
    // onPostSolve: function (contact, selfCollider, otherCollider) {
    // },


});
