LockDiagram/temp/quick-scripts/dst/assets/Script/Block.js
2024-10-30 15:21:35 +08:00

171 lines
17 KiB
JavaScript

(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/Script/Block.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'd63eeqXqS5GV5T/inM6K0aA', '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 });
//出现块的类型,问题以及答案
var BlockType = cc.Enum({
problem_In: 1,
problem_Out: 2,
correct_In: 3,
correct_Out: 4,
err_In: 5,
err_Out: 6,
});
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
var Block = /** @class */ (function (_super) {
__extends(Block, _super);
function Block() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.UI = null;
return _this;
// update (dt) {
// }
}
// LIFE-CYCLE CALLBACKS:
Block.prototype.onLoad = function () {
// this.init();
this.GameManager = this.node.parent.parent.parent.getComponent("GameManager");
this._touch = false;
this._start = false;
this._answer = false;
this._inside = true;
this.node.on(cc.Node.EventType.TOUCH_START, this.touchStart, this);
};
Block.prototype.init = function (type, id) {
if (type == BlockType.correct_Out) {
}
};
Block.prototype.setId = function (id) {
this._idNumber = id;
};
Block.prototype.answerShow = function (texture) {
var _this = this;
this.node.getChildByName("texture").active = true;
var textureName = "texture" + texture;
// @ts-ignore
this.node.getChildByName("texture").getComponent(cc.Sprite).spriteFrame = this.UI._spriteFrames[textureName];
cc.tween(this.node.getChildByName("texture"))
.to(0.01, { opacity: 255 })
.delay(this.GameManager.config["showTime"] - 0.05)
.call(function () {
if (_this._inside) {
_this.node.getChildByName("texture").opacity = 0;
}
})
.start();
};
Block.prototype.lockShow = function (type, inside) {
this.node.getChildByName("texture").active = false;
this._answer = type;
this._inside = inside;
this.node.getChildByName("lock").active = true;
this._touch = true;
};
Block.prototype.lockHide = function () {
this.node.getChildByName("lock").active = false;
this._touch = false;
};
Block.prototype.show = function (type, inside, texture) {
var _this = this;
// this._answer = type;
this._inside = inside;
if (inside)
this._answer = type;
var textureName = "texture" + texture;
this.node.getChildByName("texture").active = true;
//正确答案
//@ts-ignore
this.node.getChildByName("texture").getComponent(cc.Sprite).spriteFrame = this.UI._spriteFrames[textureName];
cc.tween(this.node.getChildByName("texture"))
.to(0.01, { opacity: 255 })
// .delay(this.GameManager.config["showTime"]-0.1)
.call(function () {
if (inside) {
_this._touch = true;
}
})
.start();
};
Block.prototype.set_Pos = function () {
this._start = true;
};
Block.prototype.set_Touch = function (type) {
this._touch = type;
};
Block.prototype.start = function () {
};
//开始点击,提高层级
Block.prototype.touchStart = function (event) {
if (this._touch) {
if (this._answer) {
this.node.getChildByName("yes").active = true;
var data = { "result": true, "type": this._inside, id: this._idNumber };
cc.fx.Notifications.emit("result", data);
}
else {
this.node.getChildByName("err").active = true;
var data = { "result": false, "type": this._inside, id: this._idNumber };
cc.fx.Notifications.emit("result", data);
}
}
};
__decorate([
property(cc.Asset)
], Block.prototype, "UI", void 0);
Block = __decorate([
ccclass
], Block);
return Block;
}(cc.Component));
exports.default = Block;
cc._RF.pop();
}
if (nodeEnv) {
__define(__module.exports, __require, __module);
}
else {
__quick_compile_project__.registerModuleFunc(__filename, function () {
__define(__module.exports, __require, __module);
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixlQUFlO0FBQ2YsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUNwQixVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRUFBRSxDQUFDO0lBQ2QsVUFBVSxFQUFDLENBQUM7SUFDWixXQUFXLEVBQUMsQ0FBQztJQUNiLE1BQU0sRUFBQyxDQUFDO0lBQ1IsT0FBTyxFQUFDLENBQUM7Q0FDWixDQUFDLENBQUM7QUFFRyxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFtQyx5QkFBWTtJQUEvQztRQUFBLHFFQW9IQztRQWpIRyxRQUFFLEdBQWEsSUFBSSxDQUFDOztRQThHcEIsZ0JBQWdCO1FBRWhCLElBQUk7SUFDUixDQUFDO0lBdkdHLHdCQUF3QjtJQUV4QixzQkFBTSxHQUFOO1FBQ0ksZUFBZTtRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFF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QUMsQ0FBQztnQkFDbEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUMzQztTQUNKO0lBRUwsQ0FBQztJQTVHRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO3FDQUNDO0lBSEgsS0FBSztRQUR6QixPQUFPO09BQ2EsS0FBSyxDQW9IekI7SUFBRCxZQUFDO0NBcEhELEFBb0hDLENBcEhrQyxFQUFFLENBQUMsU0FBUyxHQW9IOUM7a0JBcEhvQixLQUFLIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuLy/lh7rnjrDlnZfnmoTnsbvlnovvvIzpl67popjku6Xlj4rnrZTmoYhcclxudmFyIEJsb2NrVHlwZSA9IGNjLkVudW0oe1xyXG4gICAgcHJvYmxlbV9JbjogMSwgIC8v5YaF5ZyI6Zeu6aKYXHJcbiAgICBwcm9ibGVtX091dDogMiwgLy/lpJblnIjpl67pophcclxuICAgIGNvcnJlY3RfSW46MywgICAgICAvL+WGheWciOato+ehruetlOahiFxyXG4gICAgY29ycmVjdF9PdXQ6NCwgICAgIC8v5aSW5ZyI5q2j56Gu562U5qGIXHJcbiAgICBlcnJfSW46NSwgICAgICAgICAgLy/lhoXlnIjplJnor6/nrZTmoYhcclxuICAgIGVycl9PdXQ6NiwgICAgICAgICAvL+WkluWciOmUmeivr+etlOahiFxyXG59KTtcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmxvY2sgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Bc3NldClcclxuICAgIFVJOiBjYy5Bc3NldCA9IG51bGw7XHJcblxyXG4gICAgX3RvdWNoOiBib29sZWFuO1xyXG4gICAgX3N0YXJ0OiBib29sZWFuO1xyXG4gICAgX2Fuc3dlcjogYm9vbGVhbjtcclxuICAgIF9pbnNpZGU6IGJvb2xlYW47XHJcbiAgICBfaWROdW1iZXI6IG51bWJlcjtcclxuICAgIEdhbWVNYW5hZ2VyOiBhbnk7XHJcbiAgICB0dWJlX0FycmF5OiBudW1iZXJbXVtdOy8v566h5a2Q5pWw57uEXHJcblxyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICAvLyB0aGlzLmluaXQoKTtcclxuICAgICAgICB0aGlzLkdhbWVNYW5hZ2VyID0gdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG4gICAgICAgIHRoaXMuX3RvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc3RhcnQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9hbnN3ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9pbnNpZGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9TVEFSVCwgdGhpcy50b3VjaFN0YXJ0LCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KHR5cGUsaWQpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gQmxvY2tUeXBlLmNvcnJlY3RfT3V0KXtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldElkKGlkKXtcclxuICAgICAgICB0aGlzLl9pZE51bWJlciA9IGlkO1xyXG4gICAgfVxyXG5cclxuICAgIGFuc3dlclNob3codGV4dHVyZSl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGV4dHVyZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGxldCB0ZXh0dXJlTmFtZSA9IFwidGV4dHVyZVwiK3RleHR1cmU7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJLl9zcHJpdGVGcmFtZXNbdGV4dHVyZU5hbWVdO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikpXHJcbiAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkodGhpcy5HYW1lTWFuYWdlci5jb25maWdbXCJzaG93VGltZVwiXS0wLjA1KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBpZih0aGlzLl9pbnNpZGUpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGV4dHVyZVwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9ja1Nob3codHlwZSxpbnNpZGUpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fYW5zd2VyID0gdHlwZTtcclxuICAgICAgICB0aGlzLl9pbnNpZGUgPSBpbnNpZGU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibG9ja1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX3RvdWNoID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsb2NrSGlkZSgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImxvY2tcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fdG91Y2ggPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93KHR5cGUsaW5zaWRlLHRleHR1cmUpe1xyXG4gICAgICAgIC8vIHRoaXMuX2Fuc3dlciA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5faW5zaWRlID0gaW5zaWRlO1xyXG4gICAgICAgIGlmKGluc2lkZSkgdGhpcy5fYW5zd2VyID0gdHlwZTtcclxuICAgICAgICBsZXQgdGV4dHVyZU5hbWUgPSBcInRleHR1cmVcIit0ZXh0dXJlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAvL+ato+ehruetlOahiFxyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJLl9zcHJpdGVGcmFtZXNbdGV4dHVyZU5hbWVdO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRleHR1cmVcIikpXHJcbiAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAvLyAuZGVsYXkodGhpcy5HYW1lTWFuYWdlci5jb25maWdbXCJzaG93VGltZVwiXS0wLjEpXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIGlmKGluc2lkZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90b3VjaCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBzZXRfUG9zKCl7XHJcbiAgICAgICAgdGhpcy5fc3RhcnQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldF9Ub3VjaCh0eXBlKXtcclxuICAgICAgICB0aGlzLl90b3VjaCA9IHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG5cclxuICAgIH1cclxuICAgIC8v5byA5aeL54K55Ye777yM5o+Q6auY5bGC57qnXHJcbiAgICB0b3VjaFN0YXJ0IChldmVudCkge1xyXG4gICAgICAgIGlmKHRoaXMuX3RvdWNoKXtcclxuICAgICAgICAgICAgaWYodGhpcy5fYW5zd2VyKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInllc1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7XCJyZXN1bHRcIjp0cnVlLFwidHlwZVwiOnRoaXMuX2luc2lkZSxpZDp0aGlzLl9pZE51bWJlcn07XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJyZXN1bHRcIixkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZXJyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtcInJlc3VsdFwiOmZhbHNlLFwidHlwZVwiOnRoaXMuX2luc2lkZSxpZDp0aGlzLl9pZE51bWJlcn07XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJyZXN1bHRcIixkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge1xyXG5cclxuICAgIC8vIH1cclxufVxyXG4iXX0=