源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.0 KiB

  1. RankWarSoulView = RankWarSoulView or BaseClass(BaseItem)
  2. local RankWarSoulView = RankWarSoulView
  3. function RankWarSoulView:__init()
  4. self.base_file = "rank"
  5. self.layout_file = "RankWarSoulView"
  6. self.model = RankModel:getInstance()
  7. self.show_role_id = 0
  8. self.warSoul_item_list = {}
  9. self:Load()
  10. end
  11. function RankWarSoulView:Load_callback()
  12. self.nodes = {
  13. "contain/warSoul_conta:obj", "contain/bg:img",
  14. }
  15. self:GetChildren(self.nodes)
  16. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetRankImage("rank_warSoul_bg"))
  17. self:AddEvents()
  18. if self.need_refreshData then
  19. self:SetData(self.data)
  20. end
  21. end
  22. function RankWarSoulView:AddEvents( )
  23. local function OnUpdateWarSoulInfo(role_id)
  24. if role_id == self.data.role_id then
  25. self:UpdateView()
  26. end
  27. end
  28. self:BindEvent(RankModel:getInstance(), RankModel.UPDATE_WARSOUL_INFO, OnUpdateWarSoulInfo)
  29. end
  30. function RankWarSoulView:UpdateView( )
  31. -- local warSoul_data = self.model:GetWarSoulList(self.data.role_id)
  32. for k,v in pairs(self.warSoul_item_list) do
  33. v:SetVisible(false)
  34. end
  35. for i=1,7 do
  36. local vo = self.model:GetWarSoulDataByCell(self.data.role_id, i)
  37. local item = self.warSoul_item_list[i]
  38. if not item then
  39. item = RankWarSoulItem.New(self.warSoul_conta)
  40. self.warSoul_item_list[i] = item
  41. end
  42. item:SetVisible(true)
  43. item:SetData(vo,i)
  44. item:SetAnchoredPosition(Config.ConfigRank.WarSoulItemPos[i].x, Config.ConfigRank.WarSoulItemPos[i].y)
  45. end
  46. end
  47. function RankWarSoulView:SetData( data )
  48. self.data = data
  49. if self.is_loaded then
  50. self.need_refreshData = false
  51. if self.show_role_id ~= self.data.role_id then
  52. self.show_role_id = self.data.role_id
  53. self.model:Fire(RankModel.REQUEST_CCMD_EVENT,22112,self.show_role_id)
  54. -- RankController.Instance:TestHandle22112(self.show_role_id)
  55. end
  56. else
  57. self.need_refreshData = true
  58. end
  59. end
  60. function RankWarSoulView:__delete( )
  61. for i, v in ipairs(self.warSoul_item_list) do
  62. v:DeleteMe()
  63. end
  64. self.warSoul_item_list = {}
  65. end