// -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-09-16 19:26:31 // -------------------------------------------------------------------- const BridgeClass = require( "bridge.class" ); var RoleController = require("role_controller"); var ElementEvent = require("element_event"); var ElementModel = cc.Class({ extends: BridgeClass, ctor: function () { }, properties: { }, initConfig: function () { this.element_data = {} this.red_status = false //記錄當前打開的神殿類型 this.record_open_type = null; }, getRecordOpenType(){ return this.record_open_type }, setRecordOpenType(open_type){ this.record_open_type = open_type }, // 設置元素神殿基礎數據 setElementData( data ){ this.element_data = data || {} // this.updateLadderRedStatus() }, // 獲取元素神殿數據 getElementData(){ return this.element_data || {} }, // 判斷是否有元素神殿的數據 checkIsHaveElementData(){ if (!this.element_data || Utils.next(this.element_data) == null) { return false } return true }, // 刷新購買次數相關數據 updateElementCountData( data ){ if( this.element_data) { for (let key in data) { let val=data[key]; this.element_data[key] = val } // this.updateLadderRedStatus() } }, // 刷新最大通關數 updateElementCustomsData( data ){ if (this.element_data && this.element_data.list) { for (let k in this.element_data.list) { let v = this.element_data.list[k]; if( v.type == data.type) { v.group = data.group v.boss_id = data.boss_id break } } } }, // 獲取剩餘挑戰次數 getLeftChallengeCount(){ if (this.element_data) { return this.element_data.num || 0 } return 0 }, // 今日普通購買次數 getNormalBuyCount(){ if (this.element_data) { return this.element_data.buy_num || 0 } return 0 }, // 獲取今日特權購買次數 getPrivilegeBuyCount(){ if (this.element_data) { return this.element_data.pr_buy_num || 0 } return 0 }, // 獲取剩餘購買次數(包括普通次數和特權次數) getTodayLeftBuyCount(){ let left_count = 0 let normal_count = this.element_data.buy_num || 0 let normal_max_count = 0 let role_vo = RoleController.getInstance().getRoleVo() for (let k in game.configs.element_temple_data.data_buy_count) { let v = game.configs.element_temple_data.data_buy_count[k]; if (v.vip <= role_vo.vip_lev) { normal_max_count = normal_max_count + 1 } } left_count = normal_max_count - normal_count let privilege_status = RoleController.getInstance().getModel().checkPrivilegeStatus(4) // 特權激活狀態 if (privilege_status) { let pri_count = this.element_data.pr_buy_num || 0 left_count = left_count + game.configs.element_temple_data.data_privilege_length - pri_count } if (left_count < 0) left_count = 0; return left_count }, // 根據副本類型獲取最大通關數 getElementCustomsIdByType( ele_type ){ let customs_id = 0 if (this.element_data && this.element_data.list) { for (let k in this.element_data.list) { let v = this.element_data.list[k]; if (v.type == ele_type) { customs_id = v.boss_id break } } } return customs_id }, // 更新元素聖殿紅點 updateLadderRedStatus(){ this.red_status = false if (this.element_data && this.element_data.num > 0) { this.red_status = true } // 更新主界面圖標紅點 // let status = AdventureActivityController.getInstance().isOpenActivity(AdventureActivityConst.Ground_Type.element) // if( !status) { // this.red_status = false // } // 更新天梯界面紅點 gcore.GlobalEvent.fire(ElementEvent.Update_Element_Red_Status, this.red_status) }, // 判斷元素聖殿紅點狀態 checkElementRedStatus(){ return this.red_status }, // 元素聖殿是否開啟 checkElementIsOpen( not_tips ){ let role_vo = RoleController.getInstance().getRoleVo() let open_cfg = game.configs.element_temple_data.data_const["join_lev"] let is_open = true if (open_cfg && open_cfg.val > role_vo.lev) { is_open = false if (!not_tips) { nx.tbox(open_cfg.desc) } } return is_open }, setCurEleData(data){ this.ele_data = data; }, getCurEleData(){ if(this.ele_data){ return this.ele_data; } }, setEleCurPower(power){ this.power = power; }, getEleCurPower(){ return this.power; }, });