WaterControl/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js
2024-08-16 14:17:58 +08:00

787 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
cc._RF.push(module, 'c58deN2u1NGZL8nJwvnu1PR', 'Block');
// Script/Block.ts
"use strict";
// Learn TypeScript:
// - https://docs.cocos.com/creator/manual/en/scripting/typescript.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
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PathType = exports.BlockType = void 0;
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
var BlockType;
(function (BlockType) {
/*普通地块 */
BlockType[BlockType["Nomal"] = 0] = "Nomal";
/*起点地块 */
BlockType[BlockType["Start"] = 1] = "Start";
/*湿地 */
BlockType[BlockType["Nunja"] = 2] = "Nunja";
/*山峰 */
BlockType[BlockType["Peak"] = 3] = "Peak";
/*终点地块 */
BlockType[BlockType["End"] = 4] = "End";
/*息壤 */
BlockType[BlockType["Xi_Soil"] = 5] = "Xi_Soil";
/*加固 */
BlockType[BlockType["Reinforce"] = 6] = "Reinforce";
})(BlockType = exports.BlockType || (exports.BlockType = {}));
var PathType;
(function (PathType) {
PathType["err"] = "err";
PathType["up"] = "up";
PathType["down"] = "down";
PathType["left"] = "left";
PathType["right"] = "right";
PathType["up_left"] = "up_left";
PathType["up_right"] = "up_right";
PathType["down_left"] = "down_left";
PathType["down_right"] = "down_right";
PathType["left_up"] = "left_up";
PathType["left_down"] = "left_down";
PathType["right_up"] = "right_up";
PathType["right_down"] = "right_down";
})(PathType = exports.PathType || (exports.PathType = {}));
var NewClass = /** @class */ (function (_super) {
__extends(NewClass, _super);
function NewClass() {
var _this = _super !== null && _super.apply(this, arguments) || this;
// LIFE-CYCLE CALLBACKS:
_this.UI = null;
return _this;
// update (dt) {}
}
NewClass.prototype.onLoad = function () {
this.finishi = false;
this.pos_Shifting = 0;
this.pos = cc.v2(0, 0);
};
NewClass.prototype.start = function () {
};
/**
* 息壤过后改变修筑路径
* @param order 建筑地图数组里的执行的序列号
* @param number 息壤执行长度,改变息壤用后其他路径的X或Y值
* @param direction 只为两个方向横向false,纵向true
* @param road 建筑地图数组或者洪峰路径数组可理解为路径数组path_Array water_Array
*/
//初始化地图块数据
NewClass.prototype.initData = function (type, pos, max) {
this.block_Type = type;
this.pos = cc.v2(pos.x, pos.y);
// if(this.pos.y%2 == 0) this.node.getChildByName("tip").active = true;
if (type == cc.Enum(BlockType).Start) {
var bg = this.node.getChildByName("sp");
// this.node.getComponent(cc.Sprite).spriteFrame = null;
// bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"];
if (cc.fx.GameConfig.GM_INFO.level > 3) {
// bg.getChildByName("start").y = 20;
bg.getChildByName("end").y = 20;
}
this.rotateTarget(bg, "start", pos, max);
}
else if (type == cc.Enum(BlockType).End) {
var bg = this.node.getChildByName("sp");
// this.node.getComponent(cc.Sprite).spriteFrame = null;
bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"];
if (cc.fx.GameConfig.GM_INFO.level > 3) {
// bg.getChildByName("start").y = 20;
bg.getChildByName("end").y = 20;
}
this.rotateTarget(bg, "end", pos, max);
}
else if (type == cc.Enum(BlockType).Nunja) {
var random = Math.floor(Math.random() * 4);
var rotationArr = [0, 90, 180, 270];
var rotation = rotationArr[random];
this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"];
this.node.getChildByName("bg").angle = -rotation;
this.node.getComponent(cc.Sprite).spriteFrame = null;
}
else if (type == cc.Enum(BlockType).Peak) {
var random = Math.floor(Math.random() * 4 + 1);
var name = "shan" + random;
this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
this.node.getComponent(cc.Sprite).spriteFrame = null;
}
if (cc.fx.GameConfig.GM_INFO.level == 1) {
this.node.getChildByName("tipWin").opacity = 220;
this.node.getChildByName("tipLose").opacity = 220;
}
else if (cc.fx.GameConfig.GM_INFO.level == 2) {
this.node.getChildByName("tipWin").opacity = 100;
this.node.getChildByName("tipLose").opacity = 100;
}
else if (cc.fx.GameConfig.GM_INFO.level == 3) {
this.node.getChildByName("tipWin").opacity = 50;
this.node.getChildByName("tipLose").opacity = 50;
}
else if (cc.fx.GameConfig.GM_INFO.level > 3) {
this.node.getChildByName("tipWin").opacity = 0;
this.node.getChildByName("tipLose").opacity = 0;
}
};
//旋转入海口和出海口的 图片以及文字角度
NewClass.prototype.rotateTarget = function (bg, name, pos, max) {
var target = bg.getChildByName(name);
if (pos.y == max.y - 1) {
bg.angle = 0;
if (name == "end")
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"];
target.active = true;
target.angle = 0;
return;
}
else if (pos.y == 0) {
bg.angle = -180;
if (name == "end")
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"];
target.active = true;
target.angle = -180;
return;
}
else if (pos.x == max.x - 1) {
bg.angle = 90;
if (name == "start")
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"];
else
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"];
target.active = true;
target.angle = -90;
}
else if (pos.x == 0) {
bg.angle = -90;
if (name == "start")
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"];
else
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"];
target.active = true;
target.angle = 90;
}
};
NewClass.prototype.setPath = function (type) {
this.path_Type = type;
};
//设置息壤在起点
NewClass.prototype.set_Xi_Soil = function (direction, type) {
var sp = this.node.getChildByName("sp");
var turn = this.node.getChildByName("turnStart");
var water = this.node.getChildByName("waterStart");
if (direction == "left" || direction == "right") {
if (sp.angle == 0) {
turn.active = true;
water.active = true;
water.opacity = 0;
if (type) {
turn.angle = direction == "left" ? 90 : 0;
water.angle = direction == "left" ? 90 : 0;
}
else {
turn.angle = direction == "left" ? 0 : 90;
water.angle = direction == "left" ? 0 : 90;
}
}
else if (sp.angle == -180) {
turn.active = true;
water.active = true;
water.opacity = 0;
if (type) {
turn.angle = direction == "left" ? -180 : -90;
water.angle = direction == "left" ? -180 : -90;
}
else {
turn.angle = direction == "left" ? 270 : -180;
water.angle = direction == "left" ? 270 : -180;
}
}
else if (sp.angle == -90) {
turn.active = true;
turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"];
turn.angle = 90;
if (type) {
water.active = true;
water.angle = 90;
water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"];
water.opacity = 0;
}
}
else if (sp.angle == 90) {
turn.active = true;
turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"];
turn.angle = 90;
if (type) {
water.active = true;
water.angle = 90;
water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"];
water.opacity = 0;
}
}
}
else if (direction == "up" || direction == "down") {
var sp_1 = this.node.getChildByName("sp");
if (sp_1.angle == -90) {
turn.active = true;
water.active = true;
water.opacity = 0;
if (type) {
turn.angle = direction == "up" ? 0 : -90;
water.angle = direction == "up" ? 0 : -90;
}
else {
turn.angle = direction == "up" ? -90 : 0;
water.angle = direction == "up" ? -90 : 0;
}
}
else if (sp_1.angle == 90) {
turn.active = true;
water.active = true;
water.opacity = 0;
if (type) {
turn.angle = direction == "up" ? 90 : 180;
water.angle = direction == "up" ? 90 : 180;
}
else {
turn.angle = direction == "up" ? 180 : 90;
water.angle = direction == "up" ? 180 : 90;
}
}
else if (sp_1.angle == 0) {
turn.active = true;
turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"];
turn.angle = 0;
if (type) {
water.active = true;
water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"];
water.opacity = 0;
}
}
else if (sp_1.angle == -180) {
turn.active = true;
turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"];
turn.angle = 0;
if (type) {
water.active = true;
water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"];
water.opacity = 0;
}
}
}
};
//息壤具体执行方法 外部可调用
NewClass.prototype.set_Xi_SoilType = function (direction, end, name) {
var _this = this;
// console.log("息壤",direction,name,end);
var jg = this.repeatRoad(true, direction);
console.log("息壤重复判断结果", jg);
if (jg == true) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
return;
}
if (this.block_Type == cc.Enum(BlockType).Start) {
this.set_Xi_Soil(direction, false);
return;
}
if (this.block_Type == cc.Enum(BlockType).Nunja) {
this.block_Type = cc.Enum(BlockType).Nomal;
this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = null;
this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"];
}
if (end != null) {
if (this.block_Type == cc.Enum(BlockType).End) {
this.finishi = true;
setTimeout(function () {
_this.set_Xi_Soil(direction, true);
}, 500);
}
setTimeout(function () {
if (name == "water")
cc.fx.Notifications.emit(cc.fx.Message.nextWater, (end + 1));
else
cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1));
}, 400);
}
if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) {
this.block_Type = cc.Enum(BlockType).Xi_Soil;
}
else {
}
var target = this.node.getChildByName("Xi_Soil");
this.path_Type = direction;
target.active = true;
target.opacity = 0;
cc.tween(target)
.to(0.1, { opacity: 255 })
.to(0.1, { opacity: 0 })
.call(function () {
if (direction != null && end == null) {
var data = {
order: 0,
time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0],
type: 0,
circulate: false
};
if (name == "water") {
_this.runWater(data);
}
else
_this.runRoad(data);
}
})
.start();
};
//判断重复路径
NewClass.prototype.repeatRoad = function (type, direction) {
//如果双向都占用了还进来就算死了-
var jg = false;
if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) {
// alert("治水失败");
jg = true;
if (type) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
}
}
else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) {
// alert("治水失败");
jg = true;
if (type) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
}
}
if (direction) {
if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) {
// alert("治水失败");
if (this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180) {
jg = true;
if (type) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
}
}
}
else if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) {
// alert("治水失败");
if (this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270) {
jg = true;
if (type) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
}
}
}
}
return jg;
};
//修筑路线执行
NewClass.prototype.runRoad = function (data) {
if (this.path_Type == "err") {
setTimeout(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.next, order);
}, data.time);
return;
}
var jg = this.repeatRoad(true, null);
if (jg == true)
return;
var target = null;
var progress = 1;
var time = data.time;
var order = data.order + 1;
var random = Math.floor(Math.random() * 4 + 1);
target = this.node.getChildByName("vertical2");
if (target.name == "vertical") {
var water1_1 = target.getChildByName("wave").getChildByName("water1");
var water2_1 = target.getChildByName("wave").getChildByName("water2");
var water3_1 = target.getChildByName("wave").getChildByName("water3");
var timeDelay = 0.15;
water1_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water1_1.y = -120;
})).repeatForever());
water2_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water2_1.y = -120;
})).repeatForever());
water3_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water3_1.y = -120;
})).repeatForever());
}
var name = "a" + random;
if (this.block_Type != cc.Enum(BlockType).Reinforce)
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
if (target.active == true) {
target = this.node.getChildByName("horizontal2");
name = "b" + random;
if (this.block_Type != cc.Enum(BlockType).Reinforce)
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
// console.log(this.path_Type,data.order);
if (this.path_Type == cc.Enum(PathType).up) {
}
else if (this.path_Type == cc.Enum(PathType).down) {
target.angle = 180;
}
else if (this.path_Type == cc.Enum(PathType).left) {
target.angle = 90;
name = "b" + random;
if (this.block_Type != cc.Enum(BlockType).Reinforce)
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
else if (this.path_Type == cc.Enum(PathType).right) {
target.angle = 270;
name = "b" + random;
if (this.block_Type != cc.Enum(BlockType).Reinforce)
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
else {
target = this.node.getChildByName("turn2");
if (target.name == "turn") {
var water_1 = target.getChildByName("wave").getChildByName("water");
water_1.opacity = 0;
water_1.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever());
setTimeout(function () {
water_1.opacity = 255;
}, 200);
}
name = "c" + random;
if (this.block_Type != cc.Enum(BlockType).Reinforce)
target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
progress = 0.25;
if (this.path_Type == cc.Enum(PathType).up_left) {
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).up_right) {
target.scaleX = -1;
target.setPosition(this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).down_left) {
target.angle = 180;
target.scaleX = -1;
target.setPosition(-this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).down_right) {
target.angle = 180;
target.setPosition(this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).left_up) {
target.angle = -90;
target.scaleY = -1;
target.setPosition(this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).left_down) {
target.angle = 90;
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).right_up) {
target.angle = -90;
target.setPosition(-this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).right_down) {
target.angle = -90;
target.scaleX = -1;
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
}
if (this.path_Type == "Reinforce") {
target = this.node.getChildByName("Reinforce");
if (this.block_Type == cc.Enum(BlockType).Peak) {
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
return;
}
if (this.block_Type != cc.Enum(BlockType).End)
this.block_Type = cc.Enum(BlockType).Reinforce;
this.node.getChildByName("vertical2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"];
this.node.getChildByName("turn2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"];
this.node.getChildByName("horizontal2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"];
target.active = true;
target.opacity = 0;
progress = 1;
cc.tween(target)
.to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed, { opacity: 255 })
.call(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.changeMap, order);
cc.fx.Notifications.emit(cc.fx.Message.next, order);
})
.start();
}
else if (this.path_Type == "Xi_Soil") {
target.active = false;
if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)
this.block_Type = cc.Enum(BlockType).Xi_Soil;
target = this.node.getChildByName("Xi_Soil");
target.active = true;
target.opacity = 0;
cc.tween(target)
.to(0.01, { opacity: 1 })
.to(0.01, { opacity: 0 })
.call(function () {
if (data.circulate) {
cc.fx.Notifications.emit(cc.fx.Message.next, order);
}
})
.start();
}
else if (this.path_Type == "End") {
target.active = false;
if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)
this.block_Type = cc.Enum(BlockType).Xi_Soil;
var posTemp = data.last;
var direction = "up";
if (this.pos.x - posTemp.x >= 1) {
direction = "right";
}
else if (this.pos.x - posTemp.x <= -1) {
direction = "left";
}
else if (this.pos.y - posTemp.y >= 1) {
direction = "down";
}
// console.log("结束方向:",direction);
if (!this.finishi) {
this.finishi = true;
this.set_Xi_Soil(direction, true);
}
}
else {
target.active = true;
if (this.block_Type != cc.Enum(BlockType).Xi_Soil) {
target.getComponent(cc.Sprite).fillRange = 0;
cc.tween(target.getComponent(cc.Sprite))
.to(time, { fillRange: progress })
.call(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.next, order);
})
.start();
}
else {
target.opacity = 0;
target.getComponent(cc.Sprite).fillRange = 1;
cc.tween(target)
.to(time, { opacity: 255 })
.call(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.next, order);
})
.start();
}
}
};
//洪峰执行
NewClass.prototype.runWater = function (data) {
if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).Start) {
// sp.getChildByName("waterStart").opacity = 255;
cc.tween(this.node.getChildByName("waterStart"))
.to(0.2, { opacity: 255 })
.start();
}
if (this.path_Type == "err") {
setTimeout(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.nextWater, order);
}, data.time);
return;
}
//如果双向都占用了还进来就算死了-
if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) {
// alert("治水失败");
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
// cc.director.loadScene("GameScene");
return;
}
else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) {
// alert("治水失败");
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
// cc.director.loadScene("GameScene");
return;
}
var target = null;
var progress = 1;
var time = data.time;
var order = data.order + 1;
var random = Math.floor(Math.random() * 4 + 1);
target = this.node.getChildByName("vertical");
if (target.name == "vertical") {
var water1_2 = target.getChildByName("wave").getChildByName("water1");
var water2_2 = target.getChildByName("wave").getChildByName("water2");
var water3_2 = target.getChildByName("wave").getChildByName("water3");
var timeDelay = 0.15;
water1_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water1_2.y = -120;
})).repeatForever());
water2_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water2_2.y = -120;
})).repeatForever());
water3_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water3_2.y = -120;
})).repeatForever());
}
var name = "a" + random;
// if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
if (target.active == true) {
target = this.node.getChildByName("horizontal");
var water1_3 = target.getChildByName("wave").getChildByName("water1");
var water2_3 = target.getChildByName("wave").getChildByName("water2");
var water3_3 = target.getChildByName("wave").getChildByName("water3");
var timeDelay = 0.15;
water1_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water1_3.y = -120;
})).repeatForever());
water2_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water2_3.y = -120;
})).repeatForever());
water3_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () {
water3_3.y = -120;
})).repeatForever());
name = "b" + random;
//if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
// console.log(this.path_Type,data.order);
if (this.path_Type == cc.Enum(PathType).up) {
}
else if (this.path_Type == cc.Enum(PathType).down) {
target.angle = 180;
}
else if (this.path_Type == cc.Enum(PathType).left) {
target.angle = 90;
name = "b" + random;
//if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
else if (this.path_Type == cc.Enum(PathType).right) {
target.angle = 270;
name = "b" + random;
//if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
}
else {
target = this.node.getChildByName("turn");
if (target.name == "turn") {
var water_2 = target.getChildByName("wave").getChildByName("water");
water_2.opacity = 0;
water_2.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever());
setTimeout(function () {
water_2.opacity = 255;
}, 200);
}
name = "c" + random;
//if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name];
progress = 0.25;
if (this.path_Type == cc.Enum(PathType).up_left) {
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).up_right) {
target.scaleX = -1;
target.setPosition(this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).down_left) {
target.angle = 180;
target.scaleX = -1;
target.setPosition(-this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).down_right) {
target.angle = 180;
target.setPosition(this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).left_up) {
target.angle = -90;
target.scaleY = -1;
target.setPosition(this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).left_down) {
target.angle = 90;
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).right_up) {
target.angle = -90;
target.setPosition(-this.pos_Shifting, this.pos_Shifting);
}
else if (this.path_Type == cc.Enum(PathType).right_down) {
target.angle = -90;
target.scaleX = -1;
target.setPosition(-this.pos_Shifting, -this.pos_Shifting);
}
}
if (this.path_Type == "End") {
target.active = false;
if (this.block_Type == cc.Enum(BlockType).End) {
if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).End) {
cc.tween(this.node.getChildByName("waterStart"))
.to(0.2, { opacity: 255 })
.call(function () {
// alert("治水成功");
cc.fx.Notifications.emit(cc.fx.Message.showResult, "win");
if (cc.fx.GameConfig.GM_INFO.level < 7) {
cc.fx.GameConfig.GM_INFO.level += 1;
}
setTimeout(function () {
// cc.director.loadScene("GameScene");
}, 500);
})
.start();
}
}
else {
target = this.node.getChildByName("End");
target.active = true;
target.opacity = 0;
var posTemp = data.last;
if (this.pos.x - posTemp.x >= 1) {
target.angle = -90;
}
else if (this.pos.x - posTemp.x <= -1) {
target.angle = 90;
}
else if (this.pos.y - posTemp.y >= 1) {
target.angle = 180;
}
cc.tween(target)
.to(0.5, { opacity: 255 })
.call(function () {
// alert("治水失败")
cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose");
// cc.director.loadScene("GameScene");
})
.start();
}
}
else {
target.active = true;
target.getComponent(cc.Sprite).fillRange = 0;
cc.tween(target.getComponent(cc.Sprite))
.to(time, { fillRange: progress })
.call(function () {
if (data.circulate)
cc.fx.Notifications.emit(cc.fx.Message.nextWater, order);
})
.start();
}
};
__decorate([
property(cc.SpriteAtlas)
], NewClass.prototype, "UI", void 0);
NewClass = __decorate([
ccclass
], NewClass);
return NewClass;
}(cc.Component));
exports.default = NewClass;
cc._RF.pop();