源战役客户端
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

192 satır
5.7 KiB

  1. --社团协助Boss前往界面
  2. GuildSupportGuildBossGoView = GuildSupportGuildBossGoView or BaseClass(BaseView)
  3. local GuildSupportGuildBossGoView = GuildSupportGuildBossGoView
  4. GuildSupportGuildBossGoView.TITLE_1 = "下面是本次虚空副本的怪物信息,请小心!"
  5. GuildSupportGuildBossGoView.TITLE_2 = "一个游走在虚空中的超强怪物"
  6. function GuildSupportGuildBossGoView:__init()
  7. self.base_file = "guild"
  8. self.layout_file = "GuildSupportGuildBossGoView"
  9. self.layer_name = "Activity"
  10. self.destroy_imm = true
  11. self.use_background = true
  12. self.hide_maincancas = false
  13. self.change_scene_close = true
  14. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  15. self.need_show_money = false --是否要显示顶部的金钱栏
  16. self.blur_activity_bg = true
  17. self.mainVo = RoleManager.Instance.mainRoleInfo
  18. self.model = GuildModel:getInstance()
  19. self.item_list = {}
  20. self.load_callback = function ()
  21. self:LoadSuccess()
  22. self:AddEvent()
  23. end
  24. self.open_callback = function ( )
  25. self:OpenSuccess()
  26. end
  27. self.destroy_callback = function ( )
  28. self:DestroySuccess()
  29. end
  30. end
  31. function GuildSupportGuildBossGoView:DestroySuccess()
  32. for k, v in pairs(self.item_list) do
  33. v:DeleteMe()
  34. v = nil
  35. end
  36. self.item_list = {}
  37. if self.roleItem then
  38. self.roleItem:DeleteMe()
  39. self.roleItem = nil
  40. end
  41. end
  42. function GuildSupportGuildBossGoView:LoadSuccess()
  43. local nodes = {
  44. "award_con",
  45. "btnOK:obj",
  46. "my_name:tmp",
  47. "bg:img",
  48. "Window/windowCloseBtn:obj",
  49. "lb_message:tmp",
  50. "lb_boss_message:tmp",
  51. "boss_power:tmp",
  52. "role_con",
  53. "boss_name:tmp",
  54. "my_icon",
  55. "boss_icon:img",
  56. }
  57. self:GetChildren(nodes)
  58. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetViewBigBg("guild_support_guild_boss_go_bg"))
  59. if self.need_refreshData then
  60. self:UpdateView( )
  61. end
  62. self.lb_message_tmp.text = ChuanWenManager:getInstance():FormatColorTag2(GuildSupportGuildBossGoView.TITLE_1)
  63. self.lb_boss_message_tmp.text = ChuanWenManager:getInstance():FormatColorTag2(GuildSupportGuildBossGoView.TITLE_2)
  64. end
  65. function GuildSupportGuildBossGoView:AddEvent()
  66. local function onBtnClickHandler(target,x,y)
  67. if target == self.windowCloseBtn_obj then--关闭
  68. self:Close()
  69. elseif target == self.btnOK_obj then--确认
  70. self.model:Fire(GuildModel.REQUEST_CCMD_EVENT,40052,self.data.support_sid)
  71. self:Close()
  72. end
  73. end
  74. AddClickEvent(self.windowCloseBtn_obj,onBtnClickHandler)
  75. AddClickEvent(self.btnOK_obj,onBtnClickHandler)
  76. end
  77. function GuildSupportGuildBossGoView:Open( data )
  78. self.data = data
  79. BaseView.Open(self)
  80. end
  81. function GuildSupportGuildBossGoView:OpenSuccess( )
  82. self:UpdateView()
  83. end
  84. function GuildSupportGuildBossGoView:UpdateView( )
  85. if self.is_loaded then
  86. self.need_refreshData = false
  87. else
  88. self.need_refreshData = true
  89. return
  90. end
  91. if not self.data then return end
  92. if not self.roleItem then
  93. self.roleItem = HeadRoleItem.New(self.my_icon)
  94. self.roleItem:SetItemSize(55,55)
  95. end
  96. --头像
  97. local head_data = {
  98. vo = {
  99. id = self.data.role_data.role_id,
  100. -- server_id = self.data.ser_id,
  101. level = self.data.role_data.level,
  102. career = self.data.role_data.career,
  103. sex = self.data.role_data.sex,
  104. turn = self.data.role_data.turn,
  105. picture_ver = self.data.role_data.picture_ver,
  106. picture = self.data.role_data.picture,
  107. profile_photo_id = self.data.role_data.profile_photo_id,
  108. -- dress_board_id = self.data.dress_list[2] or nil,
  109. empty_head = false, -- 是否是空数据头像
  110. }
  111. }
  112. self.roleItem:SetData(head_data)
  113. self.roleItem:SetCareerIconVisible(false)
  114. self.my_name_tmp.text = self.data.role_data.name
  115. local monster = ConfigItemMgr.Instance:GetMonsterDataItem(self.data.boss_id)
  116. if monster then
  117. self.boss_name_tmp.text = HtmlColorTxt(Trim(monster.name), ColorUtil.PURPLE_DARK)
  118. lua_resM:setOutsideImageSprite(self,self.boss_icon_img,GameResPath.GetBossIcon(Trim(monster.icon)),false)
  119. local aciton_list = {"show"}
  120. local res_data = {
  121. clothe_res_id = monster.icon,
  122. --weapon_res_id = monster.weapon_id,
  123. type = SceneBaseType.Monster,
  124. action_name_list = aciton_list,
  125. layer_name = self.layer_name,
  126. father_node = self,
  127. transform = self.role_con,
  128. rotate = Vector3(0,180,0),
  129. fashion_type = FuncOpenModel.TypeId.Monster,
  130. position = Vector3(0, 110 , -500),
  131. scale = 100,
  132. shadow2_plane_pos = Vector4(0, 10, 0, 1),
  133. -- scale = 100,
  134. ui_model_type = UIModelCommon.ModelType.Model,
  135. }
  136. FuncOpenModel:getInstance():SetModelRes(res_data)
  137. end
  138. self.boss_power_tmp.text = string.format("%s%s", HtmlColorTxt("战力:" , "#f3fcff" ), HtmlColorTxt(self.data.boss_power , "#fdffc2" ))
  139. self:UpdateItemList()
  140. end
  141. function GuildSupportGuildBossGoView:UpdateItemList( )
  142. local cfg = Config.Guildsupport[self.data.role_data.support_cfg_id]
  143. if not cfg then return end
  144. self.cfg = cfg
  145. for k,v in pairs(self.item_list) do
  146. v:SetVisible(false)
  147. end
  148. local item_list = {{0,100003,cfg.reward_reputation}}
  149. if not item_list or TableSize(item_list) == 0 then return end
  150. local offer_x = 0
  151. local offer_y = 0
  152. local x = 0
  153. local y = 0
  154. for i, v in ipairs(item_list) do
  155. local item = self.item_list[i]
  156. if item == nil then
  157. item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.award_con)
  158. item:SetItemSize(62,62)
  159. self.item_list[i] = item
  160. end
  161. local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
  162. local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
  163. if goodVo then
  164. item:SetData(goods_Id, v[3] , goodVo.color, 0, lock,true,nil)
  165. else
  166. -- error("没有找到物品信息 "..v.typeId)
  167. end
  168. item:SetVisible(true)
  169. end
  170. end