RectBlockView.js 14.3 KB

                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/scripts/prefabs/RectBlockView.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, '0e862uoLs9O1r3XrfpaNlGc', 'RectBlockView');
// scripts/prefabs/RectBlockView.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 BlockView_1 = require("./BlockView");
var RectBlockCollider_1 = require("./RectBlockCollider");
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
var RectBlockView = /** @class */ (function (_super) {
    __extends(RectBlockView, _super);
    function RectBlockView() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._offsetX = 0;
        _this._offsetY = 0;
        return _this;
        //#endregion
    }
    Object.defineProperty(RectBlockView.prototype, "owner", {
        get: function () { return this._owner; },
        enumerable: false,
        configurable: true
    });
    //#region  LIFE-CYCLE CALLBACKS:
    // onLoad () {}
    RectBlockView.prototype.init = function (owner, mapView) {
        this._offsetX = owner.viewPixelPosX - owner.pixelPos.x;
        this._offsetY = owner.viewPixelPosY - owner.pixelPos.y;
        this._colliderNode = this.node.getChildByName('collider');
        this._colliderNode.removeFromParent();
        this._colliderNode.setPosition(owner.viewPixelPosX, owner.viewPixelPosY);
        mapView.colliderLayer.addChild(this._colliderNode);
        this._colliderNode.getComponent(RectBlockCollider_1.default).setMainNode(this.node);
        this._colliderNode.getComponent(cc.PhysicsBoxCollider).size.width = owner.widthPixel - 2; //大格子碰撞体缩小一些,避免被三角格子包围时穿透
        this._colliderNode.getComponent(cc.PhysicsBoxCollider).size.height = owner.heightPixel - 2;
        _super.prototype.init.call(this, owner, mapView);
        this._light && this._light.setContentSize(this.owner.widthPixel, this.owner.heightPixel);
    };
    RectBlockView.prototype.onImageLoaded = function () {
        this._img.setContentSize(this.owner.widthPixel + 6, this.owner.heightPixel + 6); //格子图片边缘有3像素的空白,撑满
    };
    RectBlockView.prototype.onUpdateMoveState = function () {
        this._needMove = (this.node.position.y != this.owner.viewPixelPosY);
    };
    RectBlockView.prototype.onPositionChange = function (x, y) {
        _super.prototype.onPositionChange.call(this, x, y);
        var viewPosX = x + this._offsetX;
        var viewPosY = y + this._offsetY;
        this._img.setPosition(viewPosX + this._imgOffset.x, viewPosY + this._imgOffset.y);
        this._imgEffect.setPosition(viewPosX, viewPosY);
        this._txt.setPosition(viewPosX + this._txtOffset.x, viewPosY + this._txtOffset.y);
        this._imgSkillIcon.setPosition(viewPosX, viewPosY);
        this._colliderNode.setPosition(viewPosX, viewPosY);
        this._light && this._light.setPosition(viewPosX, viewPosY);
    };
    RectBlockView.prototype.onDead = function () {
        this._colliderNode.destroy();
        _super.prototype.onDead.call(this);
    };
    // protected onDestroy(): void {
    //     this._colliderNode = null;
    // }
    // update (dt) {}
    //#endregion
    //#region public
    RectBlockView.prototype.setColliderEnable = function (value) {
        this._colliderNode.getComponent(cc.PhysicsCollider).enabled = value;
    };
    RectBlockView = __decorate([
        ccclass
    ], RectBlockView);
    return RectBlockView;
}(BlockView_1.default));
exports.default = RectBlockView;

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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcc2NyaXB0c1xccHJlZmFic1xcUmVjdEJsb2NrVmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlsRix5Q0FBb0M7QUFDcEMseURBQW9EO0FBRTlDLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQTJDLGlDQUFTO0lBQXBEO1FBQUEscUVBMEVDO1FBdEVXLGNBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsY0FBUSxHQUFXLENBQUMsQ0FBQzs7UUFvRTdCLFlBQVk7SUFDaEIsQ0FBQztJQXhFRyxzQkFBSSxnQ0FBSzthQUFULGNBQTZCLE9BQU8sSUFBSSxDQUFDLE1BQXVCLENBQUEsQ0FBQyxDQUFDOzs7T0FBQTtJQU9sRSxnQ0FBZ0M7SUFFaEMsZUFBZTtJQUVmLDRCQUFJLEdBQUosVUFBSyxLQUFvQixFQUFFLE9BQWdCO1FBRXZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUs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QUMsZUFBZSxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBdkVnQixhQUFhO1FBRGpDLE9BQU87T0FDYSxhQUFhLENBMEVqQztJQUFELG9CQUFDO0NBMUVELEFBMEVDLENBMUUwQyxtQkFBUyxHQTBFbkQ7a0JBMUVvQixhQUFhIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IHsgTWFwVmlldyB9IGZyb20gXCIuLi9rZXJuZWwvYmF0dGxlL21hcC9NYXBWaWV3XCI7XHJcbmltcG9ydCB7IFJlY3RCbG9ja0RhdGEgfSBmcm9tIFwiLi4va2VybmVsL2JhdHRsZS9tYXAvUmVjdEJsb2NrRGF0YVwiO1xyXG5pbXBvcnQgQmxvY2tWaWV3IGZyb20gXCIuL0Jsb2NrVmlld1wiO1xyXG5pbXBvcnQgUmVjdEJsb2NrQ29sbGlkZXIgZnJvbSBcIi4vUmVjdEJsb2NrQ29sbGlkZXJcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWN0QmxvY2tWaWV3IGV4dGVuZHMgQmxvY2tWaWV3IHtcclxuXHJcbiAgICBnZXQgb3duZXIoKTogUmVjdEJsb2NrRGF0YSB7IHJldHVybiB0aGlzLl9vd25lciBhcyBSZWN0QmxvY2tEYXRhIH1cclxuXHJcbiAgICBwcml2YXRlIF9vZmZzZXRYOiBudW1iZXIgPSAwO1xyXG4gICAgcHJpdmF0ZSBfb2Zmc2V0WTogbnVtYmVyID0gMDtcclxuXHJcbiAgICBwcml2YXRlIF9jb2xsaWRlck5vZGU6IGNjLk5vZGU7XHJcblxyXG4gICAgLy8jcmVnaW9uICBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBpbml0KG93bmVyOiBSZWN0QmxvY2tEYXRhLCBtYXBWaWV3OiBNYXBWaWV3KTogdm9pZCB7XHJcblxyXG4gICAgICAgIHRoaXMuX29mZnNldFggPSBvd25lci52aWV3UGl4ZWxQb3NYIC0gb3duZXIucGl4ZWxQb3MueDtcclxuICAgICAgICB0aGlzLl9vZmZzZXRZID0gb3duZXIudmlld1BpeGVsUG9zWSAtIG93bmVyLnBpeGVsUG9zLnk7XHJcblxyXG4gICAgICAgIHRoaXMuX2NvbGxpZGVyTm9kZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZSgnY29sbGlkZXInKTtcclxuICAgICAgICB0aGlzLl9jb2xsaWRlck5vZGUucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgIHRoaXMuX2NvbGxpZGVyTm9kZS5zZXRQb3NpdGlvbihvd25lci52aWV3UGl4ZWxQb3NYLCBvd25lci52aWV3UGl4ZWxQb3NZKTtcclxuICAgICAgICBtYXBWaWV3LmNvbGxpZGVyTGF5ZXIuYWRkQ2hpbGQodGhpcy5fY29sbGlkZXJOb2RlKTtcclxuICAgICAgICB0aGlzLl9jb2xsaWRlck5vZGUuZ2V0Q29tcG9uZW50KFJlY3RCbG9ja0NvbGxpZGVyKS5zZXRNYWluTm9kZSh0aGlzLm5vZGUpO1xyXG4gICAgICAgIHRoaXMuX2NvbGxpZGVyTm9kZS5nZXRDb21wb25lbnQoY2MuUGh5c2ljc0JveENvbGxpZGVyKS5zaXplLndpZHRoID0gb3duZXIud2lkdGhQaXhlbCAtIDI7IC8v5aSn5qC85a2Q56Kw5pKe5L2T57yp5bCP5LiA5Lqb77yM6YG/5YWN6KKr5LiJ6KeS5qC85a2Q5YyF5Zu05pe256m/6YCPXHJcbiAgICAgICAgdGhpcy5fY29sbGlkZXJOb2RlLmdldENvbXBvbmVudChjYy5QaHlzaWNzQm94Q29sbGlkZXIpLnNpemUuaGVpZ2h0ID0gb3duZXIuaGVpZ2h0UGl4ZWwgLSAyO1xyXG5cclxuICAgICAgICBzdXBlci5pbml0KG93bmVyLCBtYXBWaWV3KTtcclxuXHJcbiAgICAgICAgdGhpcy5fbGlnaHQgJiYgdGhpcy5fbGlnaHQuc2V0Q29udGVudFNpemUodGhpcy5vd25lci53aWR0aFBpeGVsLCB0aGlzLm93bmVyLmhlaWdodFBpeGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25JbWFnZUxvYWRlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9pbWcuc2V0Q29udGVudFNpemUodGhpcy5vd25lci53aWR0aFBpeGVsICsgNiwgdGhpcy5vd25lci5oZWlnaHRQaXhlbCArIDYpOyAvL+agvOWtkOWbvueJh+i+uee8mOaciTPlg4/ntKDnmoTnqbrnmb3vvIzmkpHmu6FcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25VcGRhdGVNb3ZlU3RhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5fbmVlZE1vdmUgPSAodGhpcy5ub2RlLnBvc2l0aW9uLnkgIT0gKHRoaXMub3duZXIgYXMgUmVjdEJsb2NrRGF0YSkudmlld1BpeGVsUG9zWSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uUG9zaXRpb25DaGFuZ2UoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5vblBvc2l0aW9uQ2hhbmdlKHgsIHkpO1xyXG5cclxuICAgICAgICBsZXQgdmlld1Bvc1ggPSB4ICsgdGhpcy5fb2Zmc2V0WDtcclxuICAgICAgICBsZXQgdmlld1Bvc1kgPSB5ICsgdGhpcy5fb2Zmc2V0WTtcclxuXHJcbiAgICAgICAgdGhpcy5faW1nLnNldFBvc2l0aW9uKHZpZXdQb3NYICsgdGhpcy5faW1nT2Zmc2V0LngsIHZpZXdQb3NZICsgdGhpcy5faW1nT2Zmc2V0LnkpO1xyXG4gICAgICAgIHRoaXMuX2ltZ0VmZmVjdC5zZXRQb3NpdGlvbih2aWV3UG9zWCwgdmlld1Bvc1kpO1xyXG4gICAgICAgIHRoaXMuX3R4dC5zZXRQb3NpdGlvbih2aWV3UG9zWCArIHRoaXMuX3R4dE9mZnNldC54LCB2aWV3UG9zWSArIHRoaXMuX3R4dE9mZnNldC55KTtcclxuICAgICAgICB0aGlzLl9pbWdTa2lsbEljb24uc2V0UG9zaXRpb24odmlld1Bvc1gsIHZpZXdQb3NZKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29sbGlkZXJOb2RlLnNldFBvc2l0aW9uKHZpZXdQb3NYLCB2aWV3UG9zWSk7XHJcbiAgICAgICAgdGhpcy5fbGlnaHQgJiYgdGhpcy5fbGlnaHQuc2V0UG9zaXRpb24odmlld1Bvc1gsIHZpZXdQb3NZKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlYWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29sbGlkZXJOb2RlLmRlc3Ryb3koKTtcclxuICAgICAgICBzdXBlci5vbkRlYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBwcm90ZWN0ZWQgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy8gICAgIHRoaXMuX2NvbGxpZGVyTm9kZSA9IG51bGw7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gcHVibGljXHJcblxyXG4gICAgc2V0Q29sbGlkZXJFbmFibGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9jb2xsaWRlck5vZGUuZ2V0Q29tcG9uZW50KGNjLlBoeXNpY3NDb2xsaWRlcikuZW5hYmxlZCA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==