6bc4c8b1-0f3e-4663-84cd-3d5670f40a40.js.map 56.6 KB
{"version":3,"sources":["assets/script/game/ui/presenter/DatingEventViewPresenter.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ResUtils } from \"simba-cc-resutils\";\nimport { ConfigManager } from \"simba-config-manager\";\nimport { GameRecord, PlotManager, ReadonlyPlots } from \"../../../avg/AVG\";\nimport { DateType } from \"../../../avg/EditorEnums\";\nimport { Presenter, Subpresenter } from \"../../../common/classbase/PresenterBase\";\nimport { GameTextData } from \"../../../common/gameplay/gamedata/GameTextData\";\nimport { UIManager } from \"../../../common/gameplay/managers/UIManager\";\nimport { StringUtils } from \"../../../common/utils/StringUtils\";\nimport { dateSceneConfig } from \"../../../config/DateSceneConfig\";\nimport { GameConfig } from \"../../../GameConfig\";\nimport { CommonLocation, DatePrefabDirectType, DirectionType, EventLocation, EventOperationType, GuideLocation, GuideOperationType, GuideState, StepType } from \"../../Enums\";\nimport GameDotMgr from \"../../GameDotMgr\";\nimport CDKeyEventManager from \"../../model/CDKeyEventManager\";\nimport { DatingEventSceneModel, DatingEventStatus } from \"../../model/DatingEventSceneModel\";\nimport { ExtraStoryModelManager } from \"../../model/ExtraStoryModelManager\";\nimport { GameModelManager } from \"../../model/GameModelManager\";\nimport { RegPresenter, RegSubpresenter } from \"../PresenterCCViewFactory\";\nimport SectionBtn from \"../SectionBtn\";\nimport { AlertDialogViewProps } from \"../view/type/AlertDialogView\";\nimport { DatingEventItemProps, DatingEventSubview, DatingEventSubviewType } from \"../view/type/DatingEventSubview\";\nimport { DatingEventView, DatingEventViewProps, DatingEventViewType } from \"../view/type/DatingEventView\";\nimport { ExtraPlotViewProps } from \"../view/type/ExtraPlotView\";\nimport AlertDialogViewPresenter from \"./AlertDialogViewPresenter\";\nimport { DatingScenePresenter } from \"./DatingScenePresenter\";\nimport ExtraPlotViewPresenter from \"./ExtraPlotViewPresenter\";\nimport GuideViewPresenter, { GuideViewParamModel } from \"./GuideViewPresenter\";\n\n@RegPresenter(DatingEventViewType)\nexport default class DatingEventViewPresenter extends Presenter<undefined, DatingEventView> {\n    static uuid = \"DatingEventViewPresenter\";\n\n    private _viewProps: DatingEventViewProps;\n    constructor() {\n        super();\n        this._viewProps = {\n        }\n    }\n\n    onOpen() {\n        super.onOpen(undefined);\n        this._disposable.add(GameModelManager.CheckDateSceneProgress.on(this.checkDateProgress));\n        this._disposable.add(GameModelManager.ShowDatingEventArrowGuide.on(this.onShowDatingEventArrowGuide));\n        this.onShow();\n    }\n\n    onEnterForeground() {\n        super.onEnterForeground();\n    }\n\n    onShow() {\n        super.onShow();\n        this.view.setProps(this._viewProps);\n        if (GameConfig.debug) {\n            this.view.showRoleLikeLabel();\n            this.view.showMaskLabel();\n        }\n    }\n\n    onClose() {\n        super.onClose();\n    }\n\n    checkDateProgress = () => {\n        // let info = GameModelManager.getShowDateProgressInfo();\n        // if (!info.isSkin && !info.sceneId) {\n        //     return;\n        // }\n        // GameModelManager.registerAutoPopView(AutoPopViewType.DatingProgress);\n        // if (info.isSkin) {\n        //     let itemId = 0;\n        //     let cfgs = ConfigManager.getAllConfig(itemConfig);\n        //     for (let id in cfgs) {\n        //         let cfg = cfgs[id];\n        //         if (cfg && cfg.ItemUnlockType === ItemUnlockType.ItemUnlock_DateProgress) {\n        //             itemId = cfg.id;\n        //         }\n        //     }\n        //     let item = ConfigManager.getConfig(itemConfig, itemId);\n        //     let splitArr: string[] = item.icon.split(\"_\");\n        //     let roleId = parseInt(splitArr[0]);\n        //     let skinId = parseInt(splitArr[1]);\n        //     let role = GameModelManager.getRoleData(roleId);\n        //     if (role) {\n        //         role.addSkin(skinId);\n        //         GameModelManager.addSkinItemToRecord(itemId);\n        //     }\n        // }\n    }\n\n    onShowDatingEventArrowGuide = (isShow: boolean, wordPos?: cc.Vec3) => {\n        this.view.showArrowGuide(isShow, wordPos);\n    }\n}\n\n@RegSubpresenter(DatingEventSubviewType)\nexport class DatingEventSubpresenter extends Subpresenter<DatingEventSubview> {\n    // private _items: DatingEventItemProps[];\n    private _lineStyle: 0 | 1 = 0;\n    private _modelMap: { [key: string]: DatingEventSceneModel } = {};\n    private _dailySceneNum: number = -1;\n    private _curChapterIndex: number = 1;\n    private _maxChapterIndex: number = 1;\n    private _maxChapterIsChange: boolean = false;\n    private _isStartBranches: boolean = false;\n    private _clickKey: string = \"\";\n    isReview: boolean;\n\n    private sceneModelToViewModel(item: DatingEventSceneModel, index: number): DatingEventItemProps {\n        this._modelMap[item.id.toString()] = item;\n        // let cfg = ConfigManager.getConfig(dateSceneConfig, item.id);\n        // let progress = GameModelManager.getDateSceneKeyPlotsProgress(item.id);\n        let direct = DatePrefabDirectType.Left;\n        if (this._curChapterIndex % 2 === 1) {\n            direct = (index + 1) % 2 === 1 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n        } else {\n            direct = (index + 1) % 2 === 0 ? DatePrefabDirectType.Left : DatePrefabDirectType.Right;\n        }\n        return {\n            key: item.id + \"\",\n            title: GameModelManager.getConfigLanguageTxt(item.config.name),\n            // date: item.config.date,\n            // time: item.config.time,\n            status: item.status,\n            coverImage: \"textures/dating_event/cover/\" + item.config.background,\n            // lineStyle: this._lineStyle,\n            // progress: progress,\n            // showItemClear: item.status === DatingEventStatus.Completed && progress === 100,\n            // showProgress: item.status === DatingEventStatus.Completed,\n            // firstCostNum: cfg.first_energy_cost,\n            // reviewCostNum: cfg.memory_energy_cost,\n            itype: direct\n        }\n    }\n\n    refreshItems() {\n        let items: DatingEventItemProps[] = [];\n        let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n        // let srcModels = GameModelManager.getMainDatingEventScenesModel();\n        for (let i = srcModels.length - 1; i >= 0; i--) {\n            items.push(this.sceneModelToViewModel(srcModels[i], i));\n        }\n        // if (items.length) {\n        //     items[0].lineStyle = \"none\";\n        // }\n        //count dailySceneNum from table\n        if (this._dailySceneNum == -1) {\n            let maxItemsNum: number = 0;\n            let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n            for (let id in cfg) {\n                let c = cfg[id];\n                if (c) {\n                    maxItemsNum++;\n                }\n            }\n            this._dailySceneNum = maxItemsNum;\n        }\n        let showContinue = false;\n        if (srcModels.length !== 0) {\n            let c = 0;\n            let cfgs = ConfigManager.getAllConfig(dateSceneConfig);\n            for (let id in cfgs) {\n                let cfg = cfgs[id];\n                if (cfg) {\n                    c++;\n                }\n            }\n            let last = srcModels[srcModels.length - 1];\n            showContinue = last.id === c;\n        }\n        this.view.setProps({\n            items,\n            onItemClick: this.onItemAdModeClick,\n            // onItemClick: this.onItemEnergyCostClick,\n            showContinue: showContinue,\n            chapterName: this.getChapterName(this._curChapterIndex),\n            showLeft: this._curChapterIndex !== 1,\n            showRight: this._curChapterIndex !== this._maxChapterIndex,\n            showChapterClear: this.checkChapterClear(items, this._curChapterIndex),\n            onOptionChapter: this.onOptionChapter,\n            chapterIndex: this._curChapterIndex,\n            onScrollBegin: this.onScrollBegin,\n            onScrollEnd: this.onScrollEnd,\n            onLeftButtonClickCallback: this.onLeftButtonClickCallback,\n            onRightButtonClickCallback: this.onRightButtonClickCallback,\n            onNameButtonClickCallback: this.onNameButtonClickCallback,\n            onExtraPlotButtonClickCallback: this.onExtraPlotButtonClickCallback,\n            onCloseSectionViewCallBack: this.onCloseSectionViewCallBack\n        });\n    }\n\n    onScrollBegin = () => {\n        GameModelManager.ShowDatingEventArrowGuide.emit(false);\n    }\n\n    onScrollEnd = () => {\n        this.refreshArrowGuide();\n    }\n\n    checkChapterClear(items: DatingEventItemProps[], chapterIndex: number): boolean {\n        let showClear: boolean = true;\n        let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n        let cnt = 0;\n        for (let id in cfg) {\n            let c = cfg[id]\n            if (c && c.chapter_index === chapterIndex) {\n                cnt++;\n            }\n        }\n        if (cnt !== items.length) {\n            return false;\n        }\n        // for (let i = 0; i < items.length; i++) {\n        //     if (items[i].showItemClear === false) {\n        //         showClear = false;\n        //         break;\n        //     }\n        // }\n        return showClear;\n    }\n\n    getChapterName(chapterIndex: number): string {\n        chapterIndex -= 1;\n        let nameArr: string[] =\n            [\n                \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\", \"十\",\n                \"十一\", \"十二\", \"十三\", \"十四\", \"十五\", \"十六\", \"十七\", \"十八\", \"十九\", \"二十\"\n            ];\n        let name = StringUtils.format(GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_CHAPTER_NAME), nameArr[chapterIndex]);\n        return name\n    }\n\n    onItemAdModeClick = (key: string) => {\n        GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n        let m = this._modelMap[key];\n        let hasRecord = this.checkIsSceneHasAdRecord(m.id);\n        CDKeyEventManager.getInstance().shiftCDKeyRemovePlotAD();\n        let removeAdCardNum: number = CDKeyEventManager.getInstance().checkCDKeyRemovePlotAD();\n        if (m.status !== DatingEventStatus.Completed) {\n            GameDotMgr.getInstance().dotClickUI(\"click_date_card\" + m.config.id);\n        }\n        let showAdAlert: boolean = !(removeAdCardNum > 0) && !hasRecord && m.config.ads === 1 && m.status == DatingEventStatus.New;\n        if (showAdAlert) {\n            let temp: AlertDialogViewProps =\n            {\n                dataptr: { key },\n                titlecontent: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_WAIT_VALUE),\n                content: GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_UNLOCK_DATE_VALUE),\n                ishasad: true,\n                istwobtn: true,\n                adconfig: \"inject_fruit\",\n                location: CommonLocation.Event,\n                callback: this.showAdCallBack,\n                hasBanner: false,\n                isthreebtn: true\n            };\n            console.log(\"Push AlertDialogViewPros data end\");\n            UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n            console.log(\"pushPresenter=========\");\n        } else {\n            this.enterDatingScene(key);\n        }\n    }\n\n    showAdCallBack = (type, ret: boolean, param: any) => {\n        if (ret) {\n            //if (type === \"video\" || channel == \"dummy\") {\n            if (true) {\n                let key = param[\"key\"] as string;\n                let m = this._modelMap[key];\n                this.pushSceneAdToRecord(m.id);\n                setTimeout(() => {\n                    this.enterDatingScene(key);\n                }, 300);\n            } else {\n                UIManager.popPresenter();\n                setTimeout(() => {\n                    let temp: AlertDialogViewProps =\n                    {\n                        dataptr: {},\n                        titlecontent: \"提示\",\n                        content: \"今天广告君太累了,休息啦~~可以点击去除广告,或者明天再来哦(*•̀ᴗ•́*)و ̑̑\",\n                        ishasad: false,\n                        istwobtn: true,\n                        adconfig: \"\",\n                        callback: () => {\n\n                        },\n                        hasBanner: false,\n                        isadlimit: true\n                    };\n                    UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n                }, 500);\n            }\n        } else {\n            if (type === \"video\") {\n                UIManager.showToast(\"解锁失败,请完整观看视频,不可点击跳过\");\n            }\n        }\n    }\n\n    checkIsSceneHasAdRecord(id: number): boolean {\n        let ret: boolean = false;\n        let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n        if (record) {\n            let a: number[] = JSON.parse(record);\n            let i = a.findIndex((v) => v === id);\n            ret = i !== -1;\n        }\n        return ret;\n    }\n\n    pushSceneAdToRecord(id: number) {\n        let record = GameRecord.globalVariables[\"date_ad_arr\"] as string;\n        let a: number[] = [];\n        let isExsit: boolean = false;\n        if (record) {\n            a = JSON.parse(record);\n            let i = a.findIndex((v) => v === id);\n            if (i >= 0) {\n                isExsit = true;\n            }\n        }\n        if (!isExsit) {\n            a.push(id);\n            a.reverse();\n            GameRecord.globalVariables[\"date_ad_arr\"] = JSON.stringify(a);\n            GameRecord.autoSave();\n        }\n    }\n\n    enterDatingScene(key: string) {\n        GameModelManager.ShowDatingEventArrowGuide.emit(false);\n        UIManager.pushPresenter(DatingScenePresenter, this._modelMap[key], true);\n    }\n\n    onOwnerShow() {\n        if (!this.view.isHidden) {\n            this.selectCurChapter();\n            this.refreshMaxChapterIndex();\n            this.refreshItems();\n            this.refreshArrowGuide();\n            this.changeButtonState();\n            this.checkLastChapterIsOver();\n            this.onCloseSectionViewCallBack();\n        }\n    }\n\n    onOwnerEnterForeground() {\n        if (!this.view.isHidden) {\n            this.refreshMaxChapterIndex();\n            this.refreshItems();\n            this.refreshArrowGuide();\n            this.changeButtonState();\n            this.checkLastChapterIsOver();\n        }\n        if (this._maxChapterIsChange) {\n            this.selectCurChapter();\n        }\n    }\n\n    onOpen() {\n        super.onOpen();\n        this._disposable.add(GameModelManager.CheckDateGuide.on(this.checkGuideItem));\n        this._disposable.add(GameModelManager.RefreshDateSceneProgress.on(this.onRefreshDateSceneProgress));\n        this._disposable.add(GameModelManager.ForceClickDatingItem.on(this.onForceClickItem));\n        this._disposable.add(GameModelManager.RefreshAllStatus.on(this.onRefreshAllStatus));\n        this._disposable.add(GameModelManager.CloseDatingSceneView.on(this.onCloseDatingSceneView));\n        this._disposable.add(GameModelManager.CloseExtraSceneView.on(this.onCloseExtraSceneView));\n        this._disposable.add(GameModelManager.OpenExtraPlotView.on(this.onExtraPlotButtonClickCallback));\n        // let isNeedEnterCurChapter = GameModelManager.checkIsNeedEnterCurDateChapter();\n        // if (isNeedEnterCurChapter) {\n        //     this.selectCurChapter();\n        // }\n        this.selectCurChapter();\n        if (!this.view.isHidden) {\n            this.refreshMaxChapterIndex();\n            this.onShow();\n        }\n    }\n\n    async onShow() {\n        this.refreshMaxChapterIndex();\n        this.refreshItems();\n        this.checkGuideItem();\n        this.refreshArrowGuide();\n        this.changeButtonState();\n        this.checkLastChapterIsOver();\n        await this.updateExtraPlotButtonRedDot();\n    }\n\n    onHide() {\n\n    }\n\n    selectCurChapter() {\n        let models = GameModelManager.getMainDatingEventScenesModel();\n        if (models && models.length) {\n            let last = models[models.length - 1];\n            this._curChapterIndex = last.config.chapter_index;\n            if (this._curChapterIndex !== 1) {\n                GameModelManager.setNotNeedEnterCurDateChapter();\n            }\n        }\n    }\n\n    checkGuideItem = () => {\n        let k = GameModelManager.getEventItemGuideKey();\n        if (k && \"\" !== k) {\n            let node = this.view.getItemNode(k);\n            if (node) {\n                let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n                let m: GuideViewParamModel = {\n                    x: wp.x,\n                    y: wp.y,\n                    w: node.width,\n                    h: node.height,\n                    d: DirectionType.DOWM,\n                    call: () => {\n                        this.onItemAdModeClick(k);\n                        // this.onItemEnergyCostClick(k);\n                        GameModelManager.setGuideEventItemRecord(k, GuideState.Complete);\n                    }\n                }\n                UIManager.pushPresenter(GuideViewPresenter, m);\n                GameDotMgr.getInstance().dotGuide(GuideOperationType.Show, GuideLocation.EventItem);\n            }\n        }\n        this.refreshArrowGuide();\n    }\n\n    refreshMaxChapterIndex() {\n        let maxChapterIndex = this._maxChapterIndex;\n        let arr = GameModelManager.getMainDatingEventScenesModel();\n        if (arr && arr.length) {\n            let dId = arr[arr.length - 1].id;\n            let cfg = ConfigManager.getConfig(dateSceneConfig, dId);\n            this._maxChapterIndex = cfg.chapter_index;\n        }\n        this._maxChapterIsChange = maxChapterIndex == this._maxChapterIndex ? false : true;\n    }\n\n    onOptionChapter = (stepType: StepType) => {\n        let tempIndex = stepType === StepType.Add ? this._curChapterIndex + 1 : this._curChapterIndex - 1;\n        this._curChapterIndex = tempIndex >= 1 && tempIndex <= this._maxChapterIndex ? tempIndex : this._curChapterIndex;\n        this.refreshItems();\n    }\n\n    onRefreshDateSceneProgress = () => {\n        this.refreshItems();\n    }\n\n    onItemEnergyCostClick = (key: string) => {\n        // GameModelManager.setGuideEventItemRecord(key, GuideState.Complete);\n        // let m = this._modelMap[key];\n        // let cost = m.config.first_energy_cost;\n        // let isReview: boolean = false;\n        // switch (m.status) {\n        //     case DatingEventStatus.New:\n        //         {\n        //             cost = m.config.first_energy_cost;\n        //         }\n        //         break;\n        //     case DatingEventStatus.InProgress:\n        //         {\n        //             cost = 0;\n        //         }\n        //         break;\n        //     case DatingEventStatus.Locked:\n        //         {\n        //             cost = 0;\n        //         }\n        //         break;\n        //     case DatingEventStatus.Completed:\n        //         {\n        //             cost = m.config.memory_energy_cost;\n        //             isReview = true;\n        //         }\n        //         break;\n        // }\n        // let role = GameModelManager.getPlayerData();\n        // let energy = role.getEnergy();\n        // let isEnergyEnough = energy >= cost;\n        // let isEnterWhenEnergyEnough: boolean = true;\n        // if (isEnterWhenEnergyEnough) {\n        //     if (isEnergyEnough) {\n        //         role.addEnergy(cost * (-1));\n        //         this.enterDatingScene(key);\n        //         return;\n        //     }\n        // }\n        // if (cost === 0) {\n        //     this.enterDatingScene(key);\n        // } else {\n        //     let ennergyPropNum = role.getProps(GamePropType.EnergyDrink);\n        //     ennergyPropNum = ennergyPropNum ? ennergyPropNum : 0;\n        //     let cfg = ConfigManager.getConfig(itemConfig, GamePropType.EnergyDrink);\n        //     let hasAd = energy < cost && ennergyPropNum < 1;\n        //     let title = energy < cost ? GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_ENERGY_WEAK)\n        //         : GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_ENERGY_COST);\n        //     let content = \"\";\n        //     if (energy >= cost) {\n        //         let formatStr = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_COST_ENERGY_REVIEW);\n        //         if (!isReview) {\n        //             formatStr = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_COST_ENERGY_OPEN);\n        //         }\n        //         content = StringUtils.format(formatStr, cost, energy);\n        //     } else {\n        //         if (!hasAd) {\n        //             let formatStr = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_COST_DRINK_REVIEW);\n        //             if (!isReview) {\n        //                 formatStr = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_COST_DRINK_OPEN);\n        //             }\n        //             content = StringUtils.format(formatStr, 1, cfg.energy_recover, cost, ennergyPropNum);\n        //         } else {\n        //             if (isReview) {\n        //                 content = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_REVIEW);\n        //             } else {\n        //                 content = GameModelManager.getLanguageTxt(GameTextData.GAME_TEXT_SHOW_AD_OPEN);\n        //             }\n        //         }\n        //     }\n        //     this.isReview = isReview;\n        //     let temp: AlertDialogViewProps =\n        //     {\n        //         dataptr: { key, cost },\n        //         titlecontent: title,\n        //         content: content,\n        //         ishasad: hasAd,\n        //         istwobtn: true,\n        //         adconfig: hasAd ? \"inject_fruit\" : \"\",\n        //         // items: [],\n        //         location: CommonLocation.Event,\n        //         callback:\n        //             energy >= cost ? this.costEnergyCallBack\n        //                 : hasAd ? this.showAdCallBack : this.costDrinkCallBack,\n        //         hasBanner: true\n        //     };\n        //     //弹框打点\n        //     let oprType = this.isReview ? EventOperationType.memory : EventOperationType.event;\n        //     let location = EventLocation.ShowEnergyCost;\n        //     if (energy >= cost) { //花费体力\n\n        //     } else if (!hasAd) { //能量饮料\n        //         oprType = EventOperationType.power\n        //         location = EventLocation.ShowPowerPopup;\n        //     }\n        //     GameDotMgr.getInstance().dotEvent(oprType, location);\n        //     UIManager.pushPresenter(AlertDialogViewPresenter, temp);\n        // }\n    }\n\n    costEnergyCallBack = (type, ret: boolean, param: any) => {\n        if (ret) {\n            let oprType = this.isReview ? EventOperationType.memory : EventOperationType.event;\n            let location = EventLocation.ClickEnergyCost;\n            GameDotMgr.getInstance().dotEvent(oprType, location);\n            let role = GameModelManager.getPlayerData();\n            role.addEnergy(param.cost * (-1));\n            let key = param[\"key\"] as string;\n            let m = this._modelMap[key];\n            this.pushSceneAdToRecord(m.id);\n            setTimeout(() => {\n                this.enterDatingScene(key);\n            }, 300);\n        }\n    }\n\n    costDrinkCallBack = (type, ret: boolean, param: any) => {\n        // if (ret) {\n        //     let oprType = EventOperationType.power\n        //     let location = EventLocation.ClickPowerPopup;\n        //     GameDotMgr.getInstance().dotEvent(oprType, location);\n\n        //     let role = GameModelManager.getPlayerData();\n        //     let cfg = ConfigManager.getConfig(itemConfig, GamePropType.EnergyDrink);\n        //     role.addEnergy(cfg.energy_recover);\n        //     role.addProps(GamePropType.EnergyDrink, -1);\n        //     role.addEnergy(param.cost * (-1));\n        //     let key = param[\"key\"] as string;\n        //     let m = this._modelMap[key];\n        //     this.pushSceneAdToRecord(m.id);\n        //     setTimeout(() => {\n        //         this.enterDatingScene(key);\n        //     }, 300);\n        // }\n    }\n\n    refreshArrowGuide() {\n        let srcModels = GameModelManager.getMainDatingEventScenesModelByChapterindex(this._curChapterIndex);\n        if (!srcModels || srcModels.length === 0) {\n            return;\n        }\n        let model = srcModels[srcModels.length - 1];\n        if (model.status !== DatingEventStatus.Completed) {\n            let key = model.id + \"\";\n            let node = this.view.getItemNode(key);\n            if (node) {\n                let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n                //世界坐标y是否在屏幕区域内\n                if (wp.y > 120 && wp.y < cc.winSize.height - 200) {\n                    GameModelManager.ShowDatingEventArrowGuide.emit(true, cc.v3(wp.x, wp.y, 0));\n                } else {\n                    GameModelManager.ShowDatingEventArrowGuide.emit(false);\n                }\n            }\n        } else {\n            GameModelManager.ShowDatingEventArrowGuide.emit(false);\n        }\n    }\n\n    onForceClickItem = (id: number) => {\n        console.log(\"DatingEventSubpresenter onForceClickItem id = \", id);\n        let k = id + \"\";\n        if (!this._modelMap || !this._modelMap[k]) {\n            return;\n        }\n        this._clickKey = k;\n        if (!this._isStartBranches) {\n            this.onItemAdModeClick(k);\n        } else {\n            // this.view.unschedule(this.checkCanEnterDatingScene);\n            this.view.schedule(this.checkCanEnterDatingScene, 0.1);\n        }\n    }\n\n    checkCanEnterDatingScene = () => {\n        if (!this._isStartBranches) {\n            this.onItemAdModeClick(this._clickKey);\n            this.view.unschedule(this.checkCanEnterDatingScene);\n        }\n    }\n\n    onRefreshAllStatus = () => {\n        this.selectCurChapter();\n        this.onShow();\n    }\n\n    onCloseDatingSceneView = (eventId: number) => {\n        // this.view.setCurrEventId(eventId);\n        let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n        for (const id in cfg) {\n            if (cfg[id].id == eventId) {\n                this._curChapterIndex = cfg[id].chapter_index;\n            }\n        }\n        this.refreshItems();\n        this.checkGuideItem();\n        this.refreshArrowGuide();\n        this.changeButtonState();\n        this.checkLastChapterIsOver();\n    }\n\n    onCloseExtraSceneView = async () => {\n        await this.updateExtraPlotButtonRedDot();\n    }\n\n    changeButtonState() {\n        let nameSprite = this.view.getNameButton().node.getComponent(cc.Sprite);\n        nameSprite.scheduleOnce(async () => {\n            let spritePath = \"textures/main_view/dating/chapterIcon/chapter\";\n            nameSprite.spriteFrame = await ResUtils.loadRes(spritePath + this._curChapterIndex, cc.SpriteFrame);\n            if (this._curChapterIndex == this._maxChapterIndex) {\n                this.view.getRightButton().node.opacity = 0;\n            } else {\n                this.view.getRightButton().node.opacity = 255;\n            }\n            if (this._curChapterIndex == 1) {\n                this.view.getLeftButton().node.opacity = 0;\n            } else {\n                this.view.getLeftButton().node.opacity = 255;\n            }\n        });\n    }\n\n    checkLastChapterIsOver() {\n        let isOver = false;\n        let arr = GameModelManager.getMainDatingEventScenesModel();\n        if (arr && arr.length) {\n            let lastChapter = arr[arr.length - 1];\n            isOver = lastChapter.status == DatingEventStatus.Completed ? true : false;\n        }\n        if (!isOver && this._curChapterIndex !== this._maxChapterIndex) {\n            this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = true;\n            this.startButtonAction(this.view.getRightButton().node);\n        } else {\n            this.view.getRightButton().node.getChildByName(\"RedDotSprite\").active = false;\n            this.stopButtonAction(this.view.getRightButton().node);\n        }\n    }\n\n    startButtonAction(node: cc.Node) {\n        let fadeInAct = cc.fadeTo(1, 255);\n        let fadeOutAct = cc.fadeTo(1, 100);\n        let scaleInAct = cc.scaleTo(1, 1.2);\n        let scaleOutAct = cc.scaleTo(1, 1);\n        node.stopAllActions();\n        node.runAction(cc.repeatForever(cc.sequence(fadeInAct, fadeOutAct)));\n        node.runAction(cc.repeatForever(cc.sequence(scaleInAct, scaleOutAct)));\n    }\n\n    stopButtonAction(node: cc.Node) {\n        node.stopAllActions();\n        node.scale = 1;\n        node.opacity = 255;\n    }\n\n    getAllChapterInfo(): { chapterIndex: number, chapterName: string }[] {\n        let chapterIndex: number[] = [];\n        let chapterName: string[] = [];\n        let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n        for (const id in cfg) {\n            if (chapterIndex.indexOf(cfg[id].chapter_index) == -1 && cfg[id].chapter_index <= this._maxChapterIndex) {\n                chapterIndex.push(cfg[id].chapter_index);\n                chapterName.push(cfg[id].chapter_name);\n            }\n        }\n        let chapterInfo: { chapterIndex: number, chapterName: string }[] = [];\n        for (let i = 0; i < chapterIndex.length; i++) {\n            if (chapterName[i]) {\n                chapterInfo.push({\n                    chapterIndex: chapterIndex[i],\n                    chapterName: chapterName[i]\n                });\n            }\n        }\n        return chapterInfo;\n    }\n\n    async updateExtraPlotButtonRedDot() {\n        //return;\n        this._isStartBranches = true;\n        this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = false;\n        let cfg = ConfigManager.getAllConfig(dateSceneConfig);\n        let startPlotIds: number[] = [];\n        let cfgIds:number[] = [];\n        for (const id in cfg) {\n            if (cfg[id].DateType == DateType.Date_Sp) {\n                startPlotIds.push(cfg[id].start_plot_id);\n                cfgIds.push(Number(id));\n            }\n        }\n        await ExtraStoryModelManager.startBranches(startPlotIds,(index:number,startPlotId:number)=>{\n            let branchStatus = ExtraStoryModelManager.getBranchStatus(cfgIds[index], startPlotId);\n            if (branchStatus == DatingEventStatus.New || branchStatus == DatingEventStatus.InProgress) {\n                this.view.getExtraPlotButton().getChildByName(\"RedDotSprite\").active = true;\n            }\n        });\n        await ExtraStoryModelManager.exitExtraStory();\n        GameModelManager.setIsMainPlotSceneType(false);\n        this._isStartBranches = false;\n    }\n\n    onLeftButtonClickCallback = () => {\n        GameModelManager.setIsMainPlotSceneType(false);\n        if (this._curChapterIndex == 1) {\n            this.view.getLeftButton().node.opacity = 0;\n        } else {\n            this._curChapterIndex--;\n            this.view.getLeftButton().node.opacity = 255;\n            this.onShow();\n        }\n    }\n\n    onRightButtonClickCallback = () => {\n        GameModelManager.setIsMainPlotSceneType(false);\n        if (this._curChapterIndex == this._maxChapterIndex) {\n            this.view.getRightButton().node.opacity = 0;\n        } else {\n            this._curChapterIndex++;\n            this.view.getRightButton().node.opacity = 255;\n            this.onShow();\n        }\n    }\n\n    onNameButtonClickCallback = () => {\n        let allChapterInfo = this.getAllChapterInfo();\n        // console.log(\"allChapterInfo\", allChapterInfo);\n        this.view.getScrollViewRoot().active = true;\n        let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n        scrollView.scaleY = 0;\n        cc.tween(scrollView)\n            .to(0.2, { scaleY: 1 })\n            .call(() => {\n                this.view.getScrollViewContent().removeAllChildren();\n                for (let i = 0; i < allChapterInfo.length; ++i) {\n                    let btn = cc.instantiate(this.view.getSectionBtn());\n                    let isCurrChapter = allChapterInfo[i].chapterIndex == this._curChapterIndex;\n                    btn.getComponent(SectionBtn).setData(allChapterInfo[i].chapterIndex, allChapterInfo[i].chapterName, isCurrChapter, () => {\n                        this._curChapterIndex = allChapterInfo[i].chapterIndex;\n                        this.onShow();\n                        this.onCloseSectionViewCallBack();\n                    });\n                    btn.parent = this.view.getScrollViewContent();\n                }\n            })\n            .start();\n    }\n\n    onCloseSectionViewCallBack = () => {\n        this.view.getScrollViewContent().removeAllChildren();\n        let scrollView = this.view.getScrollViewRoot().getChildByName(\"ScrollView\");\n        cc.tween(scrollView)\n            .to(0.2, { scaleY: 0 })\n            .call(() => {\n                this.view.getScrollViewRoot().active = false;\n            })\n            .start();\n    }\n\n    onExtraPlotButtonClickCallback = () => {\n        UIManager.pushPresenter(ExtraPlotViewPresenter, undefined);\n    }\n}"]}