"use strict";
cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager');
// Script/GameManager.ts

"use strict";
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 _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
var GameManager = /** @class */ (function (_super) {
    __extends(GameManager, _super);
    function GameManager() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.Map = null;
        _this.Block = null;
        return _this;
    }
    GameManager.prototype.onLoad = function () {
    };
    GameManager.prototype.start = function () {
        this.fit();
        this.init();
    };
    //初始化数据
    GameManager.prototype.init = function () {
        this.initMap();
    };
    GameManager.prototype.initMap = function () {
        this.block_Array = [];
        var map = cc.fx.GameConfig.LEVEL_INFO[0].map;
        for (var i = 0; i < map.length; i++) {
            for (var j = 0; j < map[i].length; j++) {
                var block = cc.instantiate(this.Block);
                block.parent = this.Map;
                block.getComponent("Block").initData(map[i][j]);
                block.setPosition(cc.v2(-block.width * 1.5 + j * block.width, -block.height * 1.5 + i * block.height));
                this.block_Array.push(block);
            }
        }
    };
    GameManager.prototype.setModel = function () {
        var time = 0.3;
        var block2 = this.node.getChildByName("Block1").getChildByName("icon").getComponent(cc.Sprite);
        var block = this.node.getChildByName("Block2").getChildByName("icon").getComponent(cc.Sprite);
        var head = this.node.getChildByName("Head");
        var block3 = this.node.getChildByName("Block3").getChildByName("icon").getComponent(cc.Sprite);
        var block4 = this.node.getChildByName("Block4").getChildByName("icon").getComponent(cc.Sprite);
        cc.tween(head)
            .to(time, { position: cc.v3(-48, 48, 0) })
            .to(time, { rotation: -90 })
            .to(time, { position: cc.v3(-144, 48, 0) })
            .to(time, { rotation: -180 })
            .start();
        cc.tween(block)
            .delay(time)
            .to(time, { fillRange: 0.25 })
            .start();
        cc.tween(block2)
            .to(time, { fillRange: 1 })
            .start();
        cc.tween(block3)
            .delay(time * 2)
            .to(time, { fillRange: 1 })
            .start();
        cc.tween(block4)
            .delay(time * 3)
            .to(time, { fillRange: 0.25 })
            .start();
    };
    //根据是否全面屏，做独立适配方面
    GameManager.prototype.fit = function () {
        var jg = this.setFit();
        if (!jg) {
        }
    };
    //判断全面屏
    GameManager.prototype.getSetScreenResolutionFlag = function () {
        var size = cc.winSize;
        var width = size.width;
        var height = size.height;
        if ((height / width) > (16.2 / 9))
            return false;
        return true;
    };
    //判断全面屏适配
    GameManager.prototype.setFit = function () {
        var flag = this.getSetScreenResolutionFlag();
        if (flag) {
        }
        else {
        }
        return flag;
    };
    //返回首页
    GameManager.prototype.backScene = function () {
        cc.director.loadScene("LoadScene");
    };
    //下一关，或者重新开始，或者返回上一关，根据level决定
    GameManager.prototype.reStart = function (type) {
    };
    //获取时间戳
    GameManager.prototype.getTime = function () {
        var timestamp = new Date().getTime();
        return timestamp;
    };
    //获胜
    GameManager.prototype.passLevel = function () {
    };
    //失败
    GameManager.prototype.loseLevel = function (type) {
        //1:  1649
        //2:  3646
        //3:  5546
        //4:  2600
        //5:  694
    };
    //开始游戏
    GameManager.prototype.startGame = function () {
    };
    //如果是倒计时 调用此方法
    GameManager.prototype.updateCountDownTime = function () {
        if (this.countTime > 0) {
            this.countTime -= 1;
            // this.time.string =  cc.fx.GameTool.getTimeMargin(this.countTime);
            if (this.countTime < 5) {
                // cc.tween(this.time.node)
                // .to(0.25,{scale:1.5,color:cc.color(255,0,0)})
                // .to(0.25,{scale:1,color:cc.color(255,255,255)})
                // .start()
                var over = this.node.getChildByName("Over");
                cc.tween(over)
                    .to(0.2, { opacity: 255 })
                    .delay(0.1)
                    .to(0.2, { opacity: 0 })
                    .start();
            }
            if (this.countTime <= 0) {
                this.unschedule(this.updateCountDownTime);
                var time = 0;
                this.gameOver(time);
            }
        }
    };
    //上传每次操作数据
    GameManager.prototype.setData = function () {
        cc.fx.GameTool.setGameData();
    };
    //上传排行榜数据
    GameManager.prototype.gameOver = function (time) {
        cc.fx.GameTool.setRank(time);
        this.node.getChildByName("GameOver").active = true;
        this.node.getChildByName("GameOver").opacity = 0;
        cc.tween(this.node.getChildByName("GameOver"))
            .to(0.4, { opacity: 255 })
            .delay(2)
            .to(0.4, { opacity: 50 })
            .call(function () {
            cc.director.loadScene("OverScene");
        })
            .start();
    };
    GameManager.prototype.clickSun = function (data) {
    };
    GameManager.prototype.onEnable = function () {
        cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this);
    };
    GameManager.prototype.onDisable = function () {
        cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun);
    };
    GameManager.prototype.update = function (dt) {
    };
    __decorate([
        property(cc.Node)
    ], GameManager.prototype, "Map", void 0);
    __decorate([
        property(cc.Prefab)
    ], GameManager.prototype, "Block", void 0);
    GameManager = __decorate([
        ccclass
    ], GameManager);
    return GameManager;
}(cc.Component));
exports.default = GameManager;

cc._RF.pop();