difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
"use strict";
cc._RF.push(module, '231aef4fC1Mf6405z4vt63b', 'stronger_model');
// Scripts/mod/stronger/stronger_model.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//      这里填写详细说明,主要填写该模块的功能简要
// <br/>Create: 2019-03-29 11:43:16
// --------------------------------------------------------------------
var BattleDramaController = require("battle_drama_controller");
 
var GuildController = require("guild_controller");
 
var RoleController = require("role_controller");
 
var StrongerModel = cc.Class({
  "extends": BaseClass,
  ctor: function ctor() {},
  properties: {},
  initConfig: function initConfig() {
    this.scroe_list = {}; //-- 我的伙伴评分数据
 
    this.max_list = {}; //-- 本服最强评分数据
  },
  // --设置伙伴的评分数据
  setDataByBid: function setDataByBid(data) {
    var self = this;
 
    if (!self.scroe_list[data.partner_bid]) {
      self.scroe_list[data.partner_bid] = {};
    }
 
    self.scroe_list[data.partner_bid] = data.partner_score; //--伙伴评分
 
    if (!self.max_list[data.partner_bid]) {
      self.max_list[data.partner_bid] = {};
    }
 
    self.max_list[data.partner_bid] = data.stronger_partner_score; //--最强伙伴评分
  },
  //--返回英雄的总评/本服最强
  getTotalAndMaxValByBid: function getTotalAndMaxValByBid(bid) {
    var self = this;
    var total = 0;
 
    if (self.scroe_list[bid]) {
      for (var k = 0; k < self.scroe_list[bid].length; ++k) {
        var v = self.scroe_list[bid][k];
        total += v.val;
      }
    }
 
    var max = 0;
 
    if (self.max_list[bid]) {
      for (var _k = 0; _k < self.max_list[bid].length; ++_k) {
        var _v = self.max_list[bid][_k];
        max += _v.val;
      }
    }
 
    return {
      total: total,
      max: max
    };
  },
  // -- 根据英雄bid获取变强相关数据
  getStrongerValByBid: function getStrongerValByBid(bid, stronger_id) {
    var scroe_data = this.scroe_list[bid] || {};
    var max_data = this.max_list[bid] || {};
    var scroe_val = 0;
    var max_val = 0;
 
    for (var k = 0; k < scroe_data.length; ++k) {
      var v = scroe_data[k];
 
      if (v.id_2 == stronger_id) {
        scroe_val = v.val;
        break;
      }
    }
 
    for (var _k2 = 0; _k2 < max_data.length; ++_k2) {
      var _v2 = max_data[_k2];
 
      if (_v2.id_2 == stronger_id) {
        max_val = _v2.val;
        break;
      }
    }
 
    return {
      scroe_val: scroe_val,
      max_val: max_val
    };
  },
  // -- 判断变强item是否开启
  checkStrongItemIsOpen: function checkStrongItemIsOpen(data) {
    var is_open = false;
 
    if (data) {
      if (data[0] && data[0] == 'dugeon') {
        //then --关卡的
        var drama_data = BattleDramaController.getInstance().getModel().getDramaData();
 
        if (drama_data && data[1]) {
          var dungeon_id = data[1];
 
          if (drama_data.max_dun_id >= dungeon_id) {
            is_open = true;
          }
        }
      } else if (data[0] && data[0] == 'lev') {
        //then -- 等级的
        var role_vo = RoleController.getInstance().getRoleVo();
 
        if (role_vo && data[1]) {
          var lev = data[1];
 
          if (role_vo.lev >= lev) {
            is_open = true;
          }
        }
      } else if (data[0] && data[0] == 'guild') {
        //then --公会等级
        var _role_vo = RoleController.getInstance().getRoleVo();
 
        if (_role_vo && _role_vo.gid != 0 && _role_vo.gsrv_id != '') {
          // then --表示有公会
          var guild_info = GuildController.getInstance().getModel().getMyGuildInfo();
 
          if (guild_info) {
            var _lev = data[1];
 
            if (guild_info.lev >= _lev) {
              is_open = true;
            }
          }
        }
      }
    }
 
    return is_open;
  }
});
 
cc._RF.pop();