"use strict"; cc._RF.push(module, 'cdb68e9gRBEjpBsriuHdUhX', 'primus_model'); // Scripts/mod/primus/primus_model.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-03-16 10:23:00 // -------------------------------------------------------------------- var MainuiController = require("mainui_controller"); var MainUiConst = require("mainui_const"); var EsecsiceConst = require("esecsice_const"); var RoleController = require("role_controller"); var PrimusModel = cc.Class({ "extends": BaseClass, ctor: function ctor() {}, properties: {}, initConfig: function initConfig() { // 是否显示红点 策划要求.点一次界面就消除 this.is_show_redpoint = true; // 挑战次数 this.challenge_count = 0; // 挑战冷却时间 this.challenge_time = 0; }, recordChallengeCount: function recordChallengeCount(data) { this.challenge_count = data.num || 0; this.challenge_time = data.time || 0; this.updateRedPoint(); }, updateRedPoint: function updateRedPoint() { RedMgr.getInstance().addCalHandler(this.checkRed.bind(this), RedIds.Primus); }, checkRed: function checkRed() { var is_show = this.checkRedStatus(); var SceneConst = require("scene_const"); MainuiController.getInstance().setBtnRedPoint(MainUiConst.btn_index.esecsice, { bid: SceneConst.RedPointType.primus, status: is_show }); }, checkRedStatus: function checkRedStatus() { var open_data = Config.dailyplay_data.data_exerciseactivity; var bool = MainuiController.getInstance().checkIsOpenByActivate(open_data[EsecsiceConst.execsice_index.honourfane].activate); if (bool == false) return false; var status = this.is_show_redpoint; // 等级 if (status) { var role_vo = RoleController.getInstance().getRoleVo(); var lev = role_vo && role_vo.lev || 0; var limit_lev = Config.primus_data.data_const.open_lev.val; if (lev < limit_lev) { status = false; } } // 挑战次数 if (status) { var max = Config.primus_data.data_const.daily_challenge_limit.val; if (this.challenge_count >= max) { status = false; } } // 冷却cd if (status) { var time = gcore.SmartSocket.getTime(); if (this.challenge_time != 0 && this.challenge_time > time) { status = false; } } return status; } }); cc._RF.pop();