KLUIPrivilegeItemDescriptionPanel.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. ---@class KLUIPrivilegeItemDescriptionPanel:UIKmlLuaPanelBase
  2. ---@field view KLUIPrivilegeItemDescriptionPanelView
  3. local KLUIPrivilegeItemDescriptionPanel = class(UIKmlLuaPanelBase)
  4. local this =KLUIPrivilegeItemDescriptionPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. self.privilegeType = {
  8. [1] = self.GetGoldenBranches(),
  9. [2] = self:GetCarryShop(),
  10. [3] = self:GetMonsterProtect(),
  11. [4] = self:GetExpandBag(),
  12. [5] = self:GetPrivilegeWarehouse(),
  13. [6] = self:GetAutoBuyMedicine(),
  14. [7] = self:GetChangeAttrPoints(),
  15. [8] = self:GetChangeMasterTalent(),
  16. [9] = self:GetDropOddsDouble(),
  17. [10] = self:GetExpDouble(),
  18. [11] = self:GetRecoverProceeds(),
  19. [12] = self:GetPatrolOnHook(),
  20. [13] = self:GetRemoteRepositories(),
  21. [14] = self:GetUpgradeTradeLimit(),
  22. [15] = self.GetDropAndExperience(),
  23. }
  24. GUI:DataListInitData( self.view.datalist_tips,function()
  25. return self:ListItemCountFunc()
  26. end,function(realIndex)
  27. return self:ListItemGetFunc(realIndex)
  28. end,function(realIndex, kmlcontrol)
  29. return self:ListItemInitFunc(realIndex, kmlcontrol)
  30. end, function(realIndex, kmlcontrol)
  31. return self:ListItemUpdateFunc(realIndex, kmlcontrol)
  32. end)
  33. end
  34. function this:ListItemCountFunc()
  35. return #self.descList - 1
  36. end
  37. function this:ListItemGetFunc(realIndex)
  38. end
  39. function this:ListItemInitFunc(realIndex, kmlcontrol)
  40. end
  41. function this:ListItemUpdateFunc(realIndex, kmlcontrol)
  42. local text = GUI:GetChildControl(self.view.datalist_tips, realIndex, "text_tip")
  43. GUI:Text_setString(text, self.descList[realIndex + 2])
  44. end
  45. ---注册UI事件和服务器消息
  46. function this:RegistEvents()
  47. GUI:AddOnClickEvent(self.view.img_mask_click, self, self.CloseSelf)
  48. GUI:AddOnClickEvent(self.view.button_tip, self, self.button_tip)
  49. --GUI:UIPanel_Open("dev/outui/Privilege/Panel/KLUIPrivilegeItemDescription/KLUIPrivilegeItemDescriptionPanel")
  50. end
  51. function this:button_tip()
  52. self:CloseSelf()
  53. if self.baseUI then
  54. self.baseUI:CloseSelf()
  55. end
  56. GUI:UIPanel_Open("dev/ui/Map/Panel/KLBigMap/KLBigMapPanel")
  57. end
  58. ---创建或者刷新界面数据时调用
  59. function this:Refresh()
  60. ---黄金 1, 钻石 2
  61. local type = self.args.type
  62. local uiType = self.args.uiType
  63. if uiType == 4 and type == 2 then
  64. self.descList = self:GetDiamondExpandBag()
  65. elseif uiType == 5 and type == 2 then
  66. self.descList = self:GetDiamondPrivilegeWarehouse()
  67. else
  68. self.descList = self.privilegeType[uiType]
  69. end
  70. GUI:Text_setString(self.view.text_tip_title, self.descList[1])
  71. GUI:DataListUpdateData(self.view.datalist_tips)
  72. if uiType == 1 then
  73. GUI:setVisible(self.view.button_tip, true)
  74. else
  75. GUI:setVisible(self.view.button_tip, false)
  76. end
  77. end
  78. function this:CloseSelf()
  79. GUI:UIPanel_Close("dev/outui/Privilege/Panel/KLUIPrivilegeItemDescription/KLUIPrivilegeItemDescriptionPanel")
  80. end
  81. function this:GetGoldenBranches()
  82. return {
  83. "野外地图开放黄金分线",
  84. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  85. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  86. "3.激活<color=#1ADD1F>黄金特权</color>后,可以开启<color=#1ADD1F>黄金分线</color>,前往不同地图的特权分线。"
  87. }
  88. end
  89. function this:GetDropAndExperience()
  90. return {
  91. "掉落经验加成50%",
  92. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  93. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  94. "3.激活<color=#1ADD1F>黄金特权</color>后,在部分野外地图可获得<color=#1ADD1F>掉落、经验加50%</color>效果,其中经验加成会被<color=#1ADD1F>钻石特权</color>的经验加成效果覆盖,掉落加成与<color=#1ADD1F>钻石特权</color>的互相叠加"
  95. }
  96. end
  97. function this:GetCarryShop()
  98. return {
  99. "随身商店",
  100. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  101. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  102. "3.激活<color=#1ADD1F>黄金特权</color>后,可以开启<color=#1ADD1F>随身商店</color>,可以随时购买生命治疗药剂、魔力恢复药剂。"
  103. }
  104. end
  105. function this:GetMonsterProtect()
  106. return {
  107. "小怪挂机保护",
  108. "1.消耗月卡时间兑换黄金特权或钻石特权获取超额收益。",
  109. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换黄金特权或钻石特权。",
  110. "3.激活黄金特权后,可以在小怪挂机点开启小怪挂机保护功能,开启挂机保护,任何玩家无法对你造成伤害,离线和在线都生效。",
  111. }
  112. end
  113. function this:GetExpandBag()
  114. return {
  115. "拓展背包",
  116. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  117. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  118. "3.激活<color=#1ADD1F>黄金特权</color>后,可获得<color=#1ADD1F>160格</color>扩展背包,特权失效后,空置的格子将会被回收,已放置道具的格子会在取消占用后回收。"
  119. }
  120. end
  121. function this:GetPrivilegeWarehouse()
  122. return {
  123. "特权仓库",
  124. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  125. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  126. "3.激活<color=#1ADD1F>黄金特权</color>后,可获得<color=#1ADD1F>2页</color>特权仓库,特权失效后,空置的格子将会被回收,已放置道具的格子会在取消占用后回收。"
  127. }
  128. end
  129. function this:GetAutoBuyMedicine()
  130. return {
  131. "自动买药",
  132. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  133. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  134. "3.激活<color=#1ADD1F>黄金特权</color>后,可以开启<color=#1ADD1F>自动买药</color>功能,可以在背包中生命治疗药剂、魔力恢复药剂不足时,自动消耗金币补充。"
  135. }
  136. end
  137. function this:GetChangeAttrPoints()
  138. return {
  139. "切换加点方案",
  140. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  141. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  142. "3.激活<color=#1ADD1F>黄金特权</color>后,可在加点界面<color=#1ADD1F>切换加点方案</color>,玩家可保存<color=#1ADD1F>2套加点方案</color>进行切换。"
  143. }
  144. end
  145. function this:GetChangeMasterTalent()
  146. return {
  147. "大师天赋免费切换",
  148. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  149. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  150. "3.激活<color=#1ADD1F>黄金特权</color>后,可在<color=#1ADD1F>免费切换大师天赋页</color>"
  151. }
  152. end
  153. function this:GetDropOddsDouble()
  154. return {
  155. "掉率翻倍",
  156. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  157. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  158. "3.激活<color=#1ADD1F>钻石特权</color>后,立享<color=#1ADD1F>掉落翻倍</color>特权,本特权可以与月卡三倍收益叠加"
  159. }
  160. end
  161. function this:GetExpDouble()
  162. return {
  163. "经验翻倍",
  164. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  165. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  166. "3.激活<color=#1ADD1F>钻石特权</color>后,立享<color=#1ADD1F>经验翻倍</color>特权,本特权可以与月卡三倍收益叠加"
  167. }
  168. end
  169. function this:GetRecoverProceeds()
  170. return {
  171. "回收收益",
  172. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  173. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  174. "3.激活<color=#1ADD1F>钻石特权</color>后,<color=#1ADD1F>奇迹币回收价增加30%</color>。"
  175. }
  176. end
  177. function this:GetPatrolOnHook()
  178. return {
  179. "巡逻挂机",
  180. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  181. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  182. "3.激活<color=#1ADD1F>钻石特权</color>后,可以开启<color=#1ADD1F>巡逻挂机</color>功能,开启<color=#1ADD1F>巡逻挂机</color>后,玩家会自动寻找本地图上的黄金怪进行战斗。玩家若在开启<color=#1ADD1F>巡逻挂机</color>后<color=#1ADD1F>离开游戏</color>则自动开启离线巡逻挂机。"
  183. }
  184. end
  185. function this:GetDiamondExpandBag()
  186. return {
  187. "拓展背包",
  188. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  189. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  190. "3.激活<color=#1ADD1F>钻石特权</color>后,可获得<color=#1ADD1F>320格</color>扩展背包,特权失效后,空置的格子将会被回收,已放置道具的格子会在取消占用后回收。"
  191. }
  192. end
  193. function this:GetDiamondPrivilegeWarehouse()
  194. return {
  195. "特权仓库",
  196. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  197. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  198. "3.激活<color=#1ADD1F>钻石特权</color>后,可获得<color=#1ADD1F>2页</color>特权仓库,特权失效后,空置的格子将会被回收,已放置道具的格子会在取消占用后回收。"
  199. }
  200. end
  201. function this:GetRemoteRepositories()
  202. return {
  203. "远程仓库",
  204. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  205. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  206. "3.激活<color=#1ADD1F>钻石特权</color>后,开启<color=#1ADD1F>远程仓库</color>,开启仓库不再需要传送到勇者大陆,可以随时取出、存入道具或装备。"
  207. }
  208. end
  209. function this:GetUpgradeTradeLimit()
  210. return {
  211. "交易行寄售上限提升",
  212. "1.消耗月卡时间兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>获取超额收益。",
  213. "2.如果当前角色的月卡时间不足,可以直接消耗背包内的月卡道具兑换<color=#1ADD1F>黄金特权</color>或<color=#1ADD1F>钻石特权</color>。",
  214. "3.激活<color=#1ADD1F>钻石特权</color>后,能够额外<color=#1ADD1F>解锁5个交易行寄售格子</color>,能够同时卖出更多道具。"
  215. }
  216. end
  217. function this:Close()
  218. end
  219. return this