源战役客户端
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.

84 line
2.4 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 社团活动 社团boss roll点记录节点
  4. -- *>
  5. GuildSceneRollRecordItem = GuildSceneRollRecordItem or BaseClass(BaseItem)
  6. local GuildSceneRollRecordItem = GuildSceneRollRecordItem
  7. function GuildSceneRollRecordItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "guildSCene"
  9. self.layout_file = "GuildSceneRollRecordItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = GuildModel:getInstance()
  13. self:Load()
  14. end
  15. function GuildSceneRollRecordItem:Load_callback()
  16. local nodes = {
  17. "highest_flag:img",
  18. "role_name:tmp",
  19. "roll_num:tmp",
  20. "my_record:tmp",
  21. }
  22. self:GetChildren(nodes)
  23. self:AddEvents()
  24. if self.need_refreshData then
  25. self:UpdateView()
  26. self:UpdateHighestFlag()
  27. end
  28. end
  29. function GuildSceneRollRecordItem:AddEvents( )
  30. local function update_highest_flag(order_id)
  31. if not order_id or order_id == self.order_id then
  32. self:UpdateHighestFlag()
  33. end
  34. end
  35. self:BindEvent(self.model, GuildModel.UPDATE_GUILD_BOSS_HIGHEST_DATA, update_highest_flag)
  36. end
  37. function GuildSceneRollRecordItem:SetData( data, order_id, is_my_record )
  38. self.data = data
  39. self.order_id = order_id
  40. self.is_my_record = is_my_record
  41. if self.is_loaded then
  42. self.need_refreshData = false
  43. self:UpdateView()
  44. self:UpdateHighestFlag()
  45. else
  46. self.need_refreshData = true
  47. end
  48. end
  49. function GuildSceneRollRecordItem:UpdateView( )
  50. if self.data then
  51. if self.is_my_record then
  52. self.role_name_tmp.text = ""
  53. self.roll_num_tmp.text = ""
  54. self.my_record_tmp.text = string.format("我的掷点:%s点", self.data.roll_num)
  55. else
  56. self.my_record_tmp.text = ""
  57. self.role_name_tmp.text = self.data.role_name
  58. self.roll_num_tmp.text = string.format("掷出了%s点", self.data.roll_num)
  59. end
  60. end
  61. end
  62. -- 更新最高掷点标志
  63. function GuildSceneRollRecordItem:UpdateHighestFlag( )
  64. local is_finished = self.model:GetGuildBossRollIsFinished()
  65. if is_finished then
  66. local highest_role_id = self.model:GetGuildBossRollHighestByOrderId(self.order_id)
  67. self.highest_flag_img.enabled = highest_role_id == self.data.role_id
  68. else
  69. self.highest_flag_img.enabled = false
  70. end
  71. end
  72. function GuildSceneRollRecordItem:__delete( )
  73. end