5dc5096b-b65d-4f44-b3f2-89a3ab114742.js 7.48 KB
"use strict";
cc._RF.push(module, '5dc50lrtl1PRLPyiaOrEUdC', 'BedroomCatRewardViewPresenter');
// script/game/ui/presenter/bedroom/BedroomCatRewardViewPresenter.ts

"use strict";
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 });
const PresenterBase_1 = require("../../../../common/classbase/PresenterBase");
const BedRoomCatModelManager_1 = require("../../../model/BedRoomCatModelManager");
const GameModelManager_1 = require("../../../model/GameModelManager");
const PresenterCCViewFactory_1 = require("../../PresenterCCViewFactory");
const RewardLevelItem_1 = require("../../RewardLevelItem");
const RewardLoginItem_1 = require("../../RewardLoginItem");
const RewardPlotItem_1 = require("../../RewardPlotItem");
const BedroomCatRewardView_1 = require("../../view/type/BedroomCatRewardView");
let BedroomCatRewardViewPresenter = /** @class */ (() => {
    let BedroomCatRewardViewPresenter = class BedroomCatRewardViewPresenter extends PresenterBase_1.Presenter {
        constructor() {
            super();
            this._titleLabel = [
                "记得每天来看看哦~",
                "饭统碗里没有粮啦!点击碗即可喂食哦~",
                "解锁章节会获取相应的奖励哦~",
                "",
            ];
            this.onClickTabbarBtn = (tabbarId) => {
                for (let i = 0; i < this.view.getTabbarButtons().length; i++) {
                    if (i == tabbarId - 1) {
                        this.view.getTabbarButtons()[i].getComponentInChildren(cc.Sprite).spriteFrame = this.view.getTabbarSpriteFrames()[0];
                    }
                    else {
                        this.view.getTabbarButtons()[i].getComponentInChildren(cc.Sprite).spriteFrame = undefined;
                    }
                }
                this.view.getRewardPanelTitleSprite().spriteFrame = this.view.getRewardPanelTitleSpriteFrames()[tabbarId - 1];
                this.view.getRewardPanelTitleLabel().string = this._titleLabel[tabbarId - 1];
                this.CreateOrUpdateRewardItem(tabbarId);
                if (tabbarId <= BedRoomCatModelManager_1.CatRewardConfigTpye.CatPlotRewardConfig) {
                    this.view.getWelfareNode().active = false;
                    this.view.getRewardPanelNode().active = true;
                }
                else {
                    this.view.getWelfareNode().active = true;
                    this.view.getRewardPanelNode().active = false;
                }
                this.updateRedDot();
            };
            this.onCloseBtnClick = () => {
                this.view.close();
                GameModelManager_1.GameModelManager.BackToBedRoom.emit();
            };
        }
        onOpen(props) {
            super.onOpen(props);
            this._viewProps = props;
            this._viewProps.onClickTabbarBtn = this.onClickTabbarBtn;
            this._viewProps.onCloseBtnClick = this.onCloseBtnClick;
            this.view.setProps(this._viewProps);
            this.onShow();
        }
        onShow() {
            super.onShow();
            //进入奖励界面初始化奖励的状态
            BedRoomCatModelManager_1.BedRoomCatModelManager.initCatRewardStatus();
            this.onClickTabbarBtn(1);
        }
        onClose() {
            super.onClose();
        }
        onEnterBackground() {
            super.onEnterBackground();
        }
        onEnterForeground() {
            super.onEnterForeground();
            this.updateRedDot();
        }
        updateRedDot() {
            for (let i = 1; i < 4; i++) {
                let catRewardStatus = BedRoomCatModelManager_1.BedRoomCatModelManager.getCatRewardStatus(i);
                for (let j = 0; j < catRewardStatus.length; j++) {
                    if (catRewardStatus[j] == 1) {
                        this.view.getRedDotNodes()[i - 1].active = true;
                        break;
                    }
                    else {
                        this.view.getRedDotNodes()[i - 1].active = false;
                    }
                }
            }
        }
        CreateOrUpdateRewardItem(tabbarId) {
            this.view.getScrollViewContentNode().removeAllChildren();
            let cfg = BedRoomCatModelManager_1.BedRoomCatModelManager.getCatRewardConfigByConfigType(tabbarId);
            let catRewardStatus = BedRoomCatModelManager_1.BedRoomCatModelManager.getCatRewardStatus(tabbarId);
            let rewardSturcts = [];
            for (let i = 0; i < cfg.length; ++i) {
                if (cfg[i].rewardTpye !== tabbarId) {
                    continue;
                }
                if (cfg[i].catFoodNumber !== 0 && cfg[i].catFoodNumber) {
                    rewardSturcts.push({ numberOrId: cfg[i].catFoodNumber, type: RewardLoginItem_1.rewardType.catFood });
                }
                if (cfg[i].cannedNumber !== 0 && cfg[i].cannedNumber) {
                    rewardSturcts.push({ numberOrId: cfg[i].cannedNumber, type: RewardLoginItem_1.rewardType.canned });
                }
                if (cfg[i].clothedId !== 0 && cfg[i].clothedId) {
                    rewardSturcts.push({ numberOrId: cfg[i].clothedId, type: RewardLoginItem_1.rewardType.clothes });
                }
                if (cfg[i].specialPlotId !== 0 && cfg[i].specialPlotId) {
                    rewardSturcts.push({ numberOrId: cfg[i].specialPlotId, type: RewardLoginItem_1.rewardType.item });
                }
                let btn = cc.instantiate(this.view.getRewardItemPrefabs()[tabbarId - 1]);
                let callback = () => {
                    this.updateRedDot();
                };
                if (tabbarId == BedRoomCatModelManager_1.CatRewardConfigTpye.CatLoginRewardConfig) {
                    btn.getComponent(RewardLoginItem_1.default).setData(cfg[i].rewardTpye, i, cfg[i].rewardTaskDescription, rewardSturcts, catRewardStatus[i], callback);
                }
                else if (tabbarId == BedRoomCatModelManager_1.CatRewardConfigTpye.CatLevelRewardConfig) {
                    btn.getComponent(RewardLevelItem_1.default).setData(cfg[i].rewardTpye, i, cfg[i].rewardTaskDescription, rewardSturcts, catRewardStatus[i], callback);
                }
                else if (tabbarId == BedRoomCatModelManager_1.CatRewardConfigTpye.CatPlotRewardConfig) {
                    btn.getComponent(RewardPlotItem_1.default).setData(cfg[i].rewardTpye, i, cfg[i].rewardTaskDescription, rewardSturcts, catRewardStatus[i], callback);
                }
                btn.parent = this.view.getScrollViewContentNode();
                rewardSturcts = [];
            }
            this.view.getScrollView().scrollToTop();
        }
    };
    BedroomCatRewardViewPresenter.uuid = "BedroomCatRewardViewPresenter";
    BedroomCatRewardViewPresenter = __decorate([
        PresenterCCViewFactory_1.RegPresenter(BedroomCatRewardView_1.BedroomCatRewardViewType)
    ], BedroomCatRewardViewPresenter);
    return BedroomCatRewardViewPresenter;
})();
exports.default = BedroomCatRewardViewPresenter;

cc._RF.pop();