源战役客户端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

208 строки
5.1 KiB

1 месяц назад
  1. StrengthMainView = StrengthMainView or BaseClass(BaseItem)
  2. StrengthMainView.Grade = {
  3. [1] = "SSS",
  4. [2] = "SS",
  5. [3] = "S",
  6. [4] = "A",
  7. [5] = "B",
  8. [6] = "C",
  9. [7] = "D",
  10. }
  11. function StrengthMainView:__init()
  12. self.base_file = "strength"
  13. self.layout_file = "StrengthMainView"
  14. self.layer_name = "UI"
  15. self.model = StrengthModel:getInstance()
  16. self.mainRoleVo = RoleManager.Instance.mainRoleInfo
  17. self.item_list = {}
  18. self.is_load_model = false
  19. -- self.use_local_view = true
  20. self:Load()
  21. end
  22. function StrengthMainView:Load_callback()
  23. self.content,
  24. self.npcCon
  25. = GetChildTransforms(self.transform,
  26. {
  27. "ScrollView/Viewport/Content",
  28. "rolePanel/npcCon",
  29. })
  30. self.now_combat,
  31. self.ideal_combat,
  32. self.mark
  33. = GetChildTexts(self.transform,
  34. {
  35. "nowCombat",
  36. "idealCombat",
  37. "markText",
  38. })
  39. self.girlImg,
  40. self.markImg,
  41. self.bg,
  42. self.title_img
  43. = GetChildImages(self.transform,
  44. {
  45. "girlImg",
  46. "markImg",
  47. "bg",
  48. "title",
  49. })
  50. lua_resM:setOutsideImageSprite(self,self.bg,GameResPath.GetJpgImage("bqui_bg.jpg"), false)
  51. -- lua_resM:setOutsideImageSprite(self,self.scroll_title_bg,GameResPath.GetJpgImage("mys_buy_bg.jpg"),false)
  52. lua_resM:setOutsideImageSprite(self, self.girlImg, GameResPath.GetCommonImage("bqui_rw"), false)
  53. lua_resM:setOutsideImageSprite(self, self.title_img, GameResPath.GetStrengthImage("bqui_pfbg"), false)
  54. if self.need_refreshData then
  55. self:SetData(self.index)
  56. end
  57. self:InitEvent()
  58. end
  59. function StrengthMainView:InitEvent()
  60. local function onExpUpdate()
  61. self:SetPropData()
  62. end
  63. self.exp_update_id = self.mainRoleVo:BindOne("exp",onExpUpdate)
  64. local function onUpdateView() --刷新界面 现在VIP特殊 有个标签领取完后消失
  65. if self.index then
  66. self:UpdateView()
  67. end
  68. end
  69. self.update_view_id = self.model:Bind(StrengthModel.UPDATE_VIEW_AFTER_CLICK, onUpdateView)
  70. end
  71. function StrengthMainView:SetData(index)
  72. self.index = index
  73. if self.is_loaded then
  74. self:UpdateView()
  75. self:SetPropData()
  76. if not self.is_load_model then
  77. self:LoadNPCModel()
  78. end
  79. else
  80. self.need_refreshData = true
  81. end
  82. end
  83. function StrengthMainView:UpdateView()
  84. self.item_info = self.model:GetItemListByIndex(self.index)
  85. if self.index == 1 then
  86. self.type_id = 1 --进度条
  87. else
  88. self.type_id = 2 --星星
  89. end
  90. local len = TableSize(self.item_info)
  91. for i,v in ipairs(self.item_list) do
  92. v:SetVisible(false)
  93. end
  94. self.content.sizeDelta = Vector2(self.content.sizeDelta.x, len*97)
  95. for i=1, len do
  96. local item = self.item_list[i]
  97. if item == nil then
  98. item = StrengthMainItem.New(self.content)
  99. self.item_list[i] = item
  100. end
  101. item:SetPosition(0,-(i-1)*97)
  102. item:SetData(self.type_id, self.item_info[i], i)
  103. item:SetVisible(true)
  104. end
  105. end
  106. function StrengthMainView:SetPropData()
  107. local cur_level = self.mainRoleVo.level
  108. local min_lv = 100
  109. local max_lv = 105
  110. -- local conf_len = TableSize(self.model.fight_model)
  111. -- local max_lev_conf = 99 + conf_len --因为配置表是从100级开始的 所以表的最后一个数据的等级是表长+99
  112. -- if cur_level >= max_lev_conf then
  113. -- cur_level = max_lev_conf
  114. -- end
  115. -- for i,v in ipairs(self.model.fight_model) do
  116. -- if cur_level >= v.lv_min then
  117. -- min_lv = v.lv_min
  118. -- max_lv = v.lv_max
  119. -- end
  120. -- end
  121. local cur_fightnum = self.mainRoleVo.fighting
  122. local id = 1
  123. local have_power = false
  124. for i,v in pairs(self.model.fight_model) do
  125. if cur_level >= v.lv_min and cur_level <= v.lv_max then
  126. id = v.lv_min
  127. have_power = true
  128. break
  129. end
  130. end
  131. if have_power == false then
  132. -- self.mark.text = ""
  133. self.markImg.gameObject:SetActive(false)
  134. return
  135. end
  136. -- if not self.model.fight_model[cur_level] then
  137. -- self.mark.text = ""
  138. -- return
  139. -- end
  140. local rec_fightnum = self.model.fight_model[id].fight_num
  141. local per = cur_fightnum / rec_fightnum
  142. per = per * 100
  143. local grade = 5 --战力等级
  144. local config = Config.Improvefightcondition
  145. local all_level = #config
  146. if per < config[all_level].condition then
  147. grade = config[all_level].icon
  148. else
  149. grade = 1
  150. for i=0,all_level do
  151. if config[all_level-i] then
  152. if per > config[all_level-i].condition then
  153. grade = config[all_level-i].icon
  154. else
  155. break
  156. end
  157. else
  158. break
  159. end
  160. end
  161. end
  162. self.model.grade = grade
  163. self.now_combat.text = self.mainRoleVo.fighting
  164. -- self.ideal_combat.text = cur_level.."级推荐战力:"..rec_fightnum
  165. self.ideal_combat.text = rec_fightnum
  166. -- self.mark.text = StrengthMainView.Grade[grade]
  167. lua_resM:setImageSprite(self, self.markImg,"strength_asset", "icon_"..grade, true)
  168. end
  169. function StrengthMainView:LoadNPCModel()
  170. -- local model_id = 201039 --npc
  171. -- lua_resM:SetRoleModel(self, self.npcCon, nil, nil, model_id, nil,
  172. -- nil, SceneBaseType.Npc, self.layer_name, Vector3(10,175,0), {"idle"}, false, 250, Vector3(0,-220,0),nil,nil,nil,nil,nil,nil,nil)
  173. self.is_load_model = true
  174. end
  175. function StrengthMainView:__delete()
  176. for k,v in pairs(self.item_list) do
  177. v:DeleteMe()
  178. v = nil
  179. end
  180. self.item_list = {}
  181. if self.exp_update_id then
  182. self.mainRoleVo:UnBind(self.exp_update_id)
  183. self.exp_update_id = nil
  184. end
  185. if self.update_view_id then
  186. self.model:UnBind(self.update_view_id)
  187. self.update_view_id = nil
  188. end
  189. end