// Learn cc.Class: // - https://docs.cocos.com/creator/manual/en/scripting/class.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 cc.Class({ extends: cc.Component, properties: {}, // LIFE-CYCLE CALLBACKS: //检测需要自动合并的汽车 GetParkListLevel() { var car_park_list = cc.find("Canvas/Main/role/Stop_cars/car_park").children; var car_park_level_list = []; for (const i in car_park_list) { car_park_level_list.push(Number(car_park_list[i].getChildByName("car_parking_pic").getChildByName("number").getComponents(cc.Label)[0].string)); } return car_park_level_list; }, //自动合并汽车,传递不带停车位的node // AutoMerge() { // console.log(this.nodelist); // if (this.nodelist.length != 2) { // return; // } // var node0_carmerge = this.nodelist[0].getComponent("CarMerge"); // //var node1_carmerge = this.nodelist[1].getComponent("CarMerge"); // var node0_box = this.nodelist[0].getComponent(cc.BoxCollider); // var node1_box = this.nodelist[1].getComponent(cc.BoxCollider); // // node0_carmerge.IsMoveNode = true; // node0_carmerge.onCollisionEnter(node1_box,node0_box); // this.nodelist = []; // }, CheckAutoMerge() { var car_park_list = cc.find("Canvas/Main/role/Stop_cars/car_park").children; let car_park_level_list = this.GetParkListLevel(); let car_need_merge = []; for (let i = 0; i < car_park_level_list.length;i++) { for (let j = i + 1; j < car_park_level_list.length; j++){ if (car_park_level_list[i] == car_park_level_list[j]) { // console.log(i + ":"+j) car_need_merge.push(car_park_list[i].getChildByName("car_parking_pic")); car_need_merge.push(car_park_list[j].getChildByName("car_parking_pic")); break; } } if (car_need_merge.length > 0) { break; } } if (car_need_merge.length < 1) { return } else { // this.nodelist = car_need_merge; this.AutoMergeAction(car_need_merge); } }, AfterCarAddOrMerge() { //更新每秒收益值 cc.find("Canvas/Main/Items/coin_bg/Coin_own").getComponent("Coin_refresh").Coin_refresh_per_circle(); }, AutoMergeAction(list) { //node的父节点坐标 let nodepos0 = this.moveN1toN2(list[0],list[1]); // let nodepos1 = nodelist[1].parent.position; // console.log(nodepos0); var action = cc.moveTo(0.4, nodepos0); //var finish = cc.callFunc(this.AutoMerge, this); // var allaction = cc.sequence(action, finish); // console.log(list[1]); list[1].getComponent("CarMerge").setIsMoveTrue(); list[1].runAction(action); }, /** 把 node1移动到 node2的位置 */ moveN1toN2(node1, node2) { let node1parentworld = node1.parent.convertToWorldSpaceAR(node1.position); let node1innode2 = node2.parent.convertToNodeSpaceAR(node1parentworld); return node1innode2; // return node1.parent.convertToNodeSpaceAR(node2.parent.convertToWorldSpaceAR(node2.position)) } // /** 获取把 node1移动到 node2位置后的坐标 */ // convertNodeSpaceAR(node1: cc.Node, node2: cc.Node) { // return node1.parent.convertToNodeSpaceAR(node2.parent.convertToWorldSpaceAR(node2.position)) // } });