"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; }; NewClass.prototype.start = function () { }; NewClass.prototype.initData = function (type) { this.block_Type = type; if (type == cc.Enum(BlockType).Start) { this.node.color = cc.color(245, 70, 70); } else if (type == cc.Enum(BlockType).End) { this.node.color = cc.color(20, 255, 0); } else if (type == cc.Enum(BlockType).Nunja) { this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; } else if (type == cc.Enum(BlockType).Peak) { var random = Math.floor(Math.random() * 4 + 1); var name = "shan" + random; this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; } }; NewClass.prototype.setPath = function (type) { this.path_Type = type; }; NewClass.prototype.set_Xi_SoilType = function (direction, end) { var _this = this; console.log("息壤", direction); if (this.block_Type == cc.Enum(BlockType).Nunja) { this.block_Type = cc.Enum(BlockType).Nomal; this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"]; } if (end != null) { setTimeout(function () { cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); }, 1000); } this.block_Type = cc.Enum(BlockType).Xi_Soil; var target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; target.opacity = 0; cc.tween(target) .to(0.5, { opacity: 255 }) .to(0.5, { opacity: 0 }) .call(function () { if (direction != null && end == null) { var data = { order: 0, time: 0.2, type: 0, circulate: false }; _this.runWater(data); } }) .start(); }; //洪峰执行 NewClass.prototype.runWater = function (data) { if (this.path_Type == "err") { setTimeout(function () { if (data.circulate) cc.fx.Notifications.emit(cc.fx.Message.next, order); }, data.time); return; } //如果双向都占用了还进来就算死了- if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { alert("河道已经交叉,不能再通过"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { alert("河道过弯处,不能再交叉河道"); 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"); var water1 = target.getChildByName("wave").getChildByName("water1"); var water2 = target.getChildByName("wave").getChildByName("water2"); var water3 = target.getChildByName("wave").getChildByName("water3"); var timeDelay = 0.15; water1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { water1.y = -120; })).repeatForever()); water2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { water2.y = -120; })).repeatForever()); water3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { water3.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"); 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"); 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") { console.log(data.order); target = this.node.getChildByName("Reinforce"); this.block_Type = cc.Enum(BlockType).Reinforce; this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; target.active = true; target.opacity = 0; progress = 1; cc.tween(target) .to(time, { 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; 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.5, { opacity: 255 }) .to(0.5, { 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; this.block_Type = cc.Enum(BlockType).Xi_Soil; target = this.node.getChildByName("End"); target.active = true; target.opacity = 0; cc.tween(target) .to(0.5, { opacity: 255 }) .call(function () { console.log("游戏结束"); // if(data.circulate) // cc.fx.Notifications.emit(cc.fx.Message.next,order); }) .start(); } 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(); } } }; __decorate([ property(cc.SpriteAtlas) ], NewClass.prototype, "UI", void 0); NewClass = __decorate([ ccclass ], NewClass); return NewClass; }(cc.Component)); exports.default = NewClass; cc._RF.pop();