源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1182 行
48 KiB

  1. UIMoneyView = UIMoneyView or BaseClass(BaseComponent)
  2. local UIMoneyView = UIMoneyView
  3. local lua_resM = lua_resM
  4. local WordManager = WordManager
  5. function UIMoneyView:__init(parent)
  6. self.parent_transform = parent
  7. self.special_type = nil
  8. self.effect_force_conts = {}
  9. self.effect_cont_list = {}
  10. self.loaded_money_effect_flag = {}
  11. self.temp_uimoney_view_state = false -- 临时UIMoneyView界面开启标志量
  12. self.show_money_effect = true
  13. self.goods_model = GoodsModel:getInstance()
  14. self.ui_tooltip_mgr = UIToolTipMgr:getInstance()
  15. end
  16. function UIMoneyView:SetData( )
  17. self.mainVo = RoleManager.Instance.mainRoleInfo
  18. self:CreateGameObject(UIType.UIMoneyView)
  19. end
  20. function UIMoneyView:LoadSuccess( )
  21. self.text_1 = self:GetChild("nums/num_1"):GetComponent(typeof(TMPro.TextMeshProUGUI))
  22. self.btn_1 = self:GetChild("add_btns/add_btn_1").gameObject
  23. self.bg_1 = self:GetChild("bgs/bg_1").gameObject
  24. self.icon_1 = self:GetChild("icons/icon_1").gameObject
  25. self.text_2 = self:GetChild("nums/num_2"):GetComponent(typeof(TMPro.TextMeshProUGUI))
  26. self.btn_2 = self:GetChild("add_btns/add_btn_2").gameObject
  27. self.bg_2 = self:GetChild("bgs/bg_2").gameObject
  28. self.icon_2 = self:GetChild("icons/icon_2").gameObject
  29. self.text_3 = self:GetChild("nums/num_3"):GetComponent(typeof(TMPro.TextMeshProUGUI))
  30. self.btn_3 = self:GetChild("add_btns/add_btn_3").gameObject
  31. self.bg_3 = self:GetChild("bgs/bg_3").gameObject
  32. self.icon_3 = self:GetChild("icons/icon_3").gameObject
  33. self.icon_3_img = self:GetChild("icons/icon_3"):GetComponent("Image")
  34. self.text_4 = self:GetChild("nums/num_4"):GetComponent(typeof(TMPro.TextMeshProUGUI))
  35. self.btn_4 = self:GetChild("add_btns/add_btn_4").gameObject
  36. self.bg_4 = self:GetChild("bgs/bg_4").gameObject
  37. self.icon_4 = self:GetChild("icons/icon_4").gameObject
  38. self.items = {}
  39. for i=1,4 do
  40. self.items[i] = {}
  41. self.items[i].txt = self:GetChild("nums/num_"..i):GetComponent(typeof(TMPro.TextMeshProUGUI))
  42. self.items[i].btn = self:GetChild("add_btns/add_btn_"..i).gameObject
  43. self.items[i].img = self:GetChild("icons/icon_"..i):GetComponent("Image")
  44. end
  45. --特效力场与容器
  46. for i=1,4 do
  47. local str = "icons/icon_"..i.."/particle_force_"..i
  48. self.effect_force_conts[i] = self:GetChild(str).gameObject
  49. local effect_cont_name = "effect_root/effect_cont_"..i
  50. self.effect_cont_list[i] = self:GetChild(effect_cont_name).gameObject
  51. end
  52. self.effect_root_obj = self:GetChild("effect_root").gameObject
  53. self.bgs = self:GetChild("bgs")
  54. self.icons = self:GetChild("icons")
  55. self.add_btns = self:GetChild("add_btns")
  56. self.nums = self:GetChild("nums")
  57. -- 一般不单独展示粉玉,这边确定不显示粉玉的金额
  58. self.text_4.text = "0"
  59. self:AddEvent()
  60. if self.special_type then
  61. self:ShowOneMoney(self.special_type)
  62. else
  63. self:SetJinValue()
  64. self:SetLockJinValue()
  65. self:SetTongValue()
  66. self:SetHonorValue()
  67. end
  68. self:SetPosition(0, ScreenHeight/2-31)
  69. lua_resM:setImageSprite(self, self.items[1].img, "uiComponent_asset", "ui_momey_icon_1",true)
  70. lua_resM:setImageSprite(self, self.items[2].img, "uiComponent_asset", "ui_momey_icon_2",true)
  71. lua_resM:setImageSprite(self, self.items[3].img, "uiComponent_asset", "ui_momey_icon_3",true)
  72. lua_resM:setImageSprite(self, self.items[4].img, "uiComponent_asset", "ui_momey_icon_4",true)
  73. self.temp_uimoney_view_state = MainUIModel:getInstance():GetUIMoneyShowState(true)
  74. MainUIModel:getInstance():SetUIMoneyShowState(true)
  75. if self.need_refresh_show_flag then
  76. self:ChangeShowFlag(self.money_show_flag,self.goods_id, self.goods_id_2)
  77. end
  78. end
  79. function UIMoneyView:AddEvent( )
  80. local function on_btn_click( target )
  81. if target == self.btn_3 then
  82. if self.money_show_flag == "Child" then
  83. self.ui_tooltip_mgr:AppendGoodsTips(ChildModel:GetInstance():GetChildCoinId(),nil,nil,nil,nil,nil,nil,true)
  84. elseif self.money_show_flag == "capsuleegg" then
  85. self.ui_tooltip_mgr:AppendGoodsTips(CapsuleEggModel:getInstance().ten_ticket_type_id,nil,nil,nil,nil,nil,nil,true)
  86. elseif self.money_show_flag == "clothingFactory" then
  87. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[24].goods_id,nil,nil,nil,nil,nil,nil,true)
  88. elseif self.money_show_flag == "Psionic" then
  89. self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2]
  90. self.ui_tooltip_mgr:AppendGoodsTips(self.deep_cfg.ten,nil,nil,nil,nil,nil,nil,true)
  91. elseif self.money_show_flag == "tarot" then
  92. self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id_2,nil,nil,nil,nil,nil,nil,true)
  93. elseif self.money_show_flag == "reversi" then
  94. self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id,nil,nil,nil,nil,nil,nil,true)
  95. else
  96. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[3].goods_id,nil,nil,nil,nil,nil,nil,true)
  97. end
  98. elseif target == self.btn_1 then
  99. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[1].goods_id,nil,nil,nil,nil,nil,nil,true)
  100. elseif target == self.btn_2 then
  101. if self.money_show_flag == "highExchange" then
  102. Message.show("嗨点值完成嗨点任务可获得")
  103. else
  104. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[2].goods_id,nil,nil,nil,nil,nil,nil,true)
  105. end
  106. elseif target == self.btn_4 then
  107. if self.money_show_flag == "Guild" then
  108. self.ui_tooltip_mgr:AppendGoodsTips(GuildModel.GuildContributeId,nil,nil,nil,nil,nil,nil,true)
  109. elseif self.money_show_flag == "Mate" then
  110. self.ui_tooltip_mgr:AppendGoodsTips(MateConst.MateMoneyId,nil,nil,nil,nil,nil,nil,true)
  111. elseif self.money_show_flag == "Empower" then
  112. self.ui_tooltip_mgr:AppendGoodsTips(EmpowerModel:GetInstance():GetEmpowerCoinGoodId(),nil,nil,nil,nil,nil,nil,true)
  113. elseif self.money_show_flag == "capsuleEggScore" then
  114. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[12].goods_id,nil,nil,nil,nil,nil,nil,true)
  115. elseif self.money_show_flag == "dunGodScore" then
  116. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[13].goods_id,nil,nil,nil,nil,nil,nil,true)
  117. elseif self.money_show_flag == "Psionic" then
  118. self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2]
  119. self.ui_tooltip_mgr:AppendGoodsTips(self.deep_cfg.one,nil,nil,nil,nil,nil,nil,true)
  120. elseif self.money_show_flag == "hopeGift"
  121. or self.money_show_flag == "treasureHouse"
  122. or self.money_show_flag == "competing"
  123. or self.money_show_flag == "tarot"
  124. or self.money_show_flag == "capsuleegg"
  125. or self.money_show_flag == "warSoul"
  126. or self.money_show_flag == "KfDFullCutLuckyGoodsId"
  127. or self.money_show_flag == "stage_exchange"
  128. or self.money_show_flag == "materialSubmit"
  129. or self.money_show_flag == "DailyRechargePellet"
  130. or self.money_show_flag == "PowerTurnTable"
  131. or self.money_show_flag == "SakuraGift"
  132. or self.money_show_flag == "clothingFactory"
  133. or self.money_show_flag == "selectEgg"
  134. or self.money_show_flag == "reversi"
  135. then
  136. self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id,nil,nil,nil,nil,nil,nil,true)
  137. else
  138. self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[4].goods_id,nil,nil,nil,nil,nil,nil,true)
  139. end
  140. end
  141. end
  142. AddClickEvent(self.btn_1, on_btn_click)
  143. AddClickEvent(self.btn_2, on_btn_click)
  144. AddClickEvent(self.btn_3, on_btn_click)
  145. AddClickEvent(self.btn_4, on_btn_click)
  146. self:SetJinBindId()
  147. self:SetJinLockBindId()
  148. self:SetTongBindId()
  149. self:SetHonorBindId()
  150. --监听背包变化,调用了ChangeShowFlag的童鞋记得在这里绑定背包
  151. local on_bag_change = function( )
  152. print('Ych:UIMoneyView.lua[159] data', self.money_show_flag)
  153. if self.money_show_flag == "hopeGift"
  154. or self.money_show_flag == "treasureHouse"
  155. or self.money_show_flag == "competing"
  156. or self.money_show_flag == "warSoul"
  157. or self.money_show_flag == "KfDFullCutLuckyGoodsId"
  158. or self.money_show_flag == "stage_exchange"
  159. or self.money_show_flag == "materialSubmit"
  160. or self.money_show_flag == "DailyRechargePellet"
  161. or self.money_show_flag == "PowerTurnTable"
  162. or self.money_show_flag == "SakuraGift"
  163. or self.money_show_flag == "clothingFactory"
  164. or self.money_show_flag == "god_act"
  165. or self.money_show_flag == "selectEgg"
  166. or self.money_show_flag == "reversi"
  167. then
  168. self:SetCommonGoodIdValue()
  169. elseif self.money_show_flag == "capsuleegg" then
  170. self:SetCommonGoodIdValue()
  171. self:SetCapsuleeEggExtraGoodIdValue()
  172. elseif self.money_show_flag == "clothingFactory" then
  173. self:SetCommonGoodIdValue()
  174. self:SetClothingFactoryMoneyShow()
  175. elseif self.money_show_flag == "tarot" then
  176. self:SetJinValue()
  177. self:SetTarotGoodIdValue()
  178. end
  179. if self._use_delete_method then
  180. return
  181. end
  182. end
  183. self.change_bag_id = self.goods_model:Bind(GoodsModel.CHANGE_BAGLIST, on_bag_change)
  184. --监听特殊货币变化
  185. local on_special_score_change = function()
  186. if self.money_show_flag == "Mate" then
  187. self:SetMateValue()
  188. elseif self.money_show_flag == "dunGodScore" then
  189. self:SetDunGodScoreValue()
  190. elseif self.money_show_flag == "warSoul" then
  191. self:SetCommonGoodIdValue()
  192. elseif self.money_show_flag == "Child" then
  193. self:SetChildCoinValue()
  194. elseif self.money_show_flag == "clothingFactory" then
  195. self:SetClothingFactoryMoneyShow()
  196. end
  197. end
  198. self.change_score_id = self.goods_model:Bind(GoodsModel.UPDATE_SPECIAL_SCORE, on_special_score_change)
  199. local function update_guild_contribute()
  200. self:SetGuildCoinValue()
  201. end
  202. self.update_guild_funds_id = self.mainVo:BindOne("guild_contribute",update_guild_contribute)
  203. local function update_empower_coin(num)
  204. self:SetEmpowerCoinValue(num)
  205. end
  206. self.update_empower_coin_id = EmpowerModel:GetInstance():Bind(EmpowerConst.UPDATA_EMTREASURE_COIN_NUM,update_empower_coin)
  207. local function update_child_coin(num)
  208. self:SetChildCoinValue(num)
  209. end
  210. self.update_child_coin_id = ChildModel:GetInstance():Bind(ChildConst.UPDATA_CHILD_COIN_NUM,update_child_coin)
  211. local function update_capsule_egg_score()
  212. if self.money_show_flag == "capsuleEggScore" then
  213. self:SetCapsuleEggScoreValue()
  214. end
  215. end
  216. self.change_capsule_egg_score_id = CapsuleEggModel:getInstance():Bind(CapsuleEggConst.UPDATE_CAPSULE_EGG_SCORE,update_capsule_egg_score)
  217. end
  218. -- 设置玩家勾玉总数额
  219. function UIMoneyView:SetJinValue()
  220. self.text_1.text = WordManager:ConvertNum(self.mainVo.jin)
  221. end
  222. -- 单独展示玩家的绑玉总额
  223. function UIMoneyView:SetLockJinValue()
  224. self.text_2.text = WordManager:ConvertNum(self.mainVo.jinLock)
  225. end
  226. -- 单独展示玩家的铜币总额
  227. function UIMoneyView:SetTongValue()
  228. self.text_3.text = WordManager:ConvertNum(self.mainVo.tong)
  229. end
  230. -- 单独展示玩家的名望券
  231. function UIMoneyView:SetHonorValue()
  232. self.text_4.text = WordManager:ConvertNum(self.mainVo.honor)
  233. end
  234. -- 单独展示玩家的羁绊点
  235. function UIMoneyView:SetMateValue()
  236. self.text_4.text = WordManager:ConvertNum(self.goods_model:GetSpecialScore(MateConst.MateMoneyId))
  237. end
  238. -- 单独展示玩家的社团资金
  239. function UIMoneyView:SetGuildCoinValue( )
  240. self.text_4.text = WordManager:ConvertNum(self.mainVo.guild_contribute)
  241. end
  242. -- 单独展示器灵币
  243. function UIMoneyView:SetEmpowerCoinValue(num)
  244. if self.money_show_flag == "Empower" then
  245. self.text_4.text = num
  246. end
  247. end
  248. -- 单独展示宝宝图鉴升级材料币
  249. function UIMoneyView:SetChildCoinValue(num)
  250. if self.money_show_flag == "Child" then
  251. local num = self.goods_model:GetSpecialScore(ChildConst.HandBookCoinID)
  252. self.text_3.text = WordManager:ConvertNum(num)
  253. end
  254. end
  255. --单独展示龙神宝库扭蛋积分
  256. function UIMoneyView:SetCapsuleEggScoreValue()
  257. self.text_4.text = WordManager:ConvertNum(CapsuleEggModel:getInstance():GetCapsuleEggScore())
  258. end
  259. --单独展示唤神副本积分
  260. function UIMoneyView:SetDunGodScoreValue()
  261. self.text_4.text = WordManager:ConvertNum(self.goods_model:GetSpecialScore(Config.ConfigNotNormalGoods[13].goods_id))
  262. end
  263. --通用道具ID显示数量
  264. function UIMoneyView:SetCommonGoodIdValue( )
  265. local num = self.goods_model:GetTypeGoodsNum(self.goods_id)
  266. if self.money_show_flag == "warSoul" then
  267. num = self.goods_model:GetSpecialScore(GoodsModel.SpacielPriceId.WarSoulPrice)
  268. end
  269. self.text_4.text = WordManager:ConvertNum(num)
  270. end
  271. --龙神宝库交易券位置换成十连券显示
  272. function UIMoneyView:SetCapsuleeEggExtraGoodIdValue()
  273. local num = self.goods_model:GetTypeGoodsNum(CapsuleEggModel:getInstance().ten_ticket_type_id)
  274. self.text_3.text = WordManager:ConvertNum(num)
  275. end
  276. --塔罗牌
  277. function UIMoneyView:SetTarotGoodIdValue()
  278. local num = self.goods_model:GetTypeGoodsNum(self.goods_id_2)
  279. self.text_3.text = WordManager:ConvertNum(num)
  280. local num_2 = self.goods_model:GetTypeGoodsNum(self.goods_id)
  281. self.text_4.text = WordManager:ConvertNum(num_2)
  282. end
  283. --制衣工厂交易券位置换成时装币
  284. function UIMoneyView:SetClothingFactoryMoneyShow( )
  285. local num = self.goods_model:GetSpecialScore(Config.ConfigNotNormalGoods[24].goods_id)
  286. self.text_3.text = WordManager:ConvertNum(num)
  287. end
  288. -- 这里为保留所有的UIMoney内容的同时修改特定位置的展示内容,修改时在对应的View类拿到money_view,并调用该方法
  289. -- flag:类型标志str,需要什么类型自行添加,记得UnBind更新
  290. function UIMoneyView:ChangeShowFlag( flag,goods_id,goods_id_2 )
  291. self.money_show_flag = flag
  292. self.goods_id = goods_id--有些界面用的不是货币而是道具 具体参考例子"hopeGift" SetCommonGoodIdValue
  293. self.goods_id_2 = goods_id_2 or false
  294. if not self.is_loaded then
  295. self.need_refresh_show_flag = true
  296. end
  297. if not flag or flag == "Default" then
  298. self:AddHonorEvent()
  299. self:AddTongEvent()
  300. self:SetJinValue()
  301. self:SetLockJinValue()
  302. self:SetTongValue()
  303. self:SetHonorValue()
  304. local asset, source = "", ""
  305. for i=1,4 do
  306. asset, source = WordManager:GetCommonMoneyIcon(i)
  307. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  308. end
  309. elseif flag == "actWindow" then -- 小界面默认展示彩钻不显示名望券
  310. self:AddHonorEvent()
  311. self:AddTongEvent()
  312. self:SetJinValue()
  313. self:SetLockJinValue()
  314. self:SetTongValue()
  315. self:SetHonorValue()
  316. local asset, source = "", ""
  317. for i=1,4 do
  318. asset, source = WordManager:GetCommonMoneyIcon(i)
  319. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  320. end
  321. self.btn_4:SetActive(false)
  322. self.bg_4:SetActive(false)
  323. self.icon_4:SetActive(false)
  324. self.text_4.gameObject:SetActive(false)
  325. elseif flag == "Mate" then
  326. self.btn_1:SetActive(false)
  327. self.bg_1:SetActive(false)
  328. self.icon_1.gameObject:SetActive(false)
  329. self.text_1.gameObject:SetActive(false)
  330. self.btn_2:SetActive(false)
  331. self.btn_3:SetActive(false)
  332. self.bg_2:SetActive(false)
  333. self.bg_3:SetActive(false)
  334. self.icon_2.gameObject:SetActive(false)
  335. self.icon_3:SetActive(false)
  336. self.text_2.gameObject:SetActive(false)
  337. self.text_3.gameObject:SetActive(false)
  338. -------------------------
  339. self:ClearHonorBindId()
  340. self:SetMateValue()
  341. local asset, source = WordManager:GetCommonMoneyIcon(19)
  342. lua_resM:setImageSprite(self, self.items[4].img, asset, source,true)
  343. elseif flag == "Guild" then -- 社团要展示社团贡献
  344. self:ClearHonorBindId()
  345. self:SetJinValue()
  346. self:SetLockJinValue()
  347. self:SetTongValue()
  348. self:SetGuildCoinValue()
  349. local asset, source = "", ""
  350. for i=1,3 do
  351. asset, source = WordManager:GetCommonMoneyIcon(i)
  352. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  353. end
  354. asset, source = WordManager:GetCommonMoneyIcon(GuildModel.GuildContributeType)
  355. lua_resM:setImageSprite(self, self.items[4].img, asset, source,true)
  356. elseif flag == "smallWindow2" then -- 展示彩钻和红钻
  357. self:SetJinValue()
  358. self:SetLockJinValue()
  359. self.btn_2:SetActive(true)
  360. self.bg_2:SetActive(true)
  361. self.icon_2:SetActive(true)
  362. self.text_2.gameObject:SetActive(true)
  363. self.btn_3:SetActive(false)
  364. self.bg_3:SetActive(false)
  365. self.icon_3:SetActive(false)
  366. self.text_3.gameObject:SetActive(false)
  367. self.btn_4:SetActive(false)
  368. self.bg_4:SetActive(false)
  369. self.icon_4:SetActive(false)
  370. self.text_4.gameObject:SetActive(false)
  371. SetSizeDeltaX(self.bg_1.transform, 160)
  372. SetSizeDeltaX(self.bg_2.transform, 160)
  373. SetAnchoredPositionX(self.bg_1.transform,266)
  374. SetAnchoredPositionX(self.bg_2.transform,472.4)
  375. SetAnchoredPositionX(self.icon_1.transform,190)
  376. SetAnchoredPositionX(self.icon_2.transform,392.3)
  377. SetAnchoredPositionX(self.btn_1.transform,328)
  378. SetAnchoredPositionX(self.btn_2.transform,533.95)
  379. SetAnchoredPositionX(self.text_1.transform,270.7)
  380. SetAnchoredPositionX(self.text_2.transform,469.9)
  381. local asset, source = "", ""
  382. for i=1,3 do
  383. asset, source = WordManager:GetCommonMoneyIcon(i)
  384. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  385. end
  386. elseif flag == "Empower" then -- 展示彩钻和器灵币
  387. self:SetJinValue()
  388. self:SetEmpowerCoinValue()
  389. self.btn_2:SetActive(false)
  390. self.btn_3:SetActive(false)
  391. self.bg_2:SetActive(false)
  392. self.bg_3:SetActive(false)
  393. self.icon_2.gameObject:SetActive(false)
  394. self.icon_3:SetActive(false)
  395. self.text_2.gameObject:SetActive(false)
  396. self.text_3.gameObject:SetActive(false)
  397. SetSizeDeltaX(self.bg_1.transform, 160)
  398. SetSizeDeltaX(self.bg_4.transform, 160)
  399. SetAnchoredPositionX(self.bg_1.transform,266)
  400. SetAnchoredPositionX(self.bg_4.transform,472.4)
  401. SetAnchoredPositionX(self.icon_1.transform,190)
  402. SetAnchoredPositionX(self.icon_4.transform,392.3)
  403. SetAnchoredPositionX(self.btn_1.transform,328)
  404. SetAnchoredPositionX(self.btn_4.transform,533.95)
  405. SetAnchoredPositionX(self.text_1.transform,270.7)
  406. SetAnchoredPositionX(self.text_4.transform,469.9)
  407. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  408. local function show_4( ... )
  409. self.btn_4:SetActive(true)
  410. self.bg_4:SetActive(true)
  411. self.icon_4.gameObject:SetActive(true)
  412. self.text_4.gameObject:SetActive(true)
  413. end
  414. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4)
  415. elseif flag == "competing" then -- 竞榜和竞榜道具
  416. self:SetJinValue()
  417. self:SetCommonGoodIdValue()
  418. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  419. local function show_4( ... )
  420. self.btn_4:SetActive(true)
  421. self.bg_4:SetActive(true)
  422. self.icon_4.gameObject:SetActive(true)
  423. self.text_4.gameObject:SetActive(true)
  424. end
  425. if goods_basic then
  426. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4)
  427. end
  428. self.btn_1:SetActive(true)
  429. self.btn_2:SetActive(false)
  430. self.btn_3:SetActive(false)
  431. self.bg_1:SetActive(true)
  432. self.bg_2:SetActive(false)
  433. self.bg_3:SetActive(false)
  434. self.icon_1.gameObject:SetActive(true)
  435. self.icon_2.gameObject:SetActive(false)
  436. self.icon_3.gameObject:SetActive(false)
  437. self.text_1.gameObject:SetActive(true)
  438. self.text_2.gameObject:SetActive(false)
  439. self.text_3.gameObject:SetActive(false)
  440. elseif flag == "tarot" then -- 塔罗牌
  441. self:SetJinValue()
  442. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  443. local function show_4( ... )
  444. self.btn_4:SetActive(true)
  445. self.bg_4:SetActive(true)
  446. self.icon_4.gameObject:SetActive(true)
  447. self.text_4.gameObject:SetActive(true)
  448. end
  449. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4)
  450. local goods_basic_2 = self.goods_model:GetGoodsBasicByTypeId(self.goods_id_2)
  451. local function show_3( ... )
  452. self.btn_3:SetActive(true)
  453. self.bg_3:SetActive(true)
  454. self.icon_3.gameObject:SetActive(true)
  455. self.text_3.gameObject:SetActive(true)
  456. end
  457. lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_2.goods_icon),false,show_3)
  458. self:SetTarotGoodIdValue()
  459. self.btn_2:SetActive(false)
  460. self.bg_2:SetActive(false)
  461. self.icon_2.gameObject:SetActive(false)
  462. self.text_2.gameObject:SetActive(false)
  463. SetSizeDeltaX(self.bg_1.transform, 160)
  464. SetSizeDeltaX(self.bg_4.transform, 160)
  465. SetAnchoredPositionX(self.bg_1.transform,59.6)
  466. SetAnchoredPositionX(self.bg_3.transform,266)
  467. SetAnchoredPositionX(self.bg_4.transform,472.4)
  468. SetAnchoredPositionX(self.icon_1.transform,-12.3)
  469. SetAnchoredPositionX(self.icon_3.transform,186)
  470. SetAnchoredPositionX(self.icon_4.transform,388)
  471. SetAnchoredPositionX(self.btn_1.transform,122.05)
  472. SetAnchoredPositionX(self.btn_3.transform,328)
  473. SetAnchoredPositionX(self.btn_4.transform,533.95)
  474. SetAnchoredPositionX(self.text_1.transform,72.4)
  475. SetAnchoredPositionX(self.text_3.transform,270.7)
  476. SetAnchoredPositionX(self.text_4.transform,469.9)
  477. elseif flag == "capsuleegg" then -- 龙神宝库
  478. --龙神宝库新增:把交易券显示换成十连券显示
  479. self:SetJinValue()
  480. self:SetCommonGoodIdValue()
  481. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  482. local function show_4( ... )
  483. self.btn_4:SetActive(true)
  484. self.bg_4:SetActive(true)
  485. self.icon_4.gameObject:SetActive(true)
  486. self.text_4.gameObject:SetActive(true)
  487. end
  488. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4)
  489. local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(CapsuleEggModel:getInstance().ten_ticket_type_id)
  490. local function show_3( ... )
  491. self.btn_3:SetActive(true)
  492. self.bg_3:SetActive(true)
  493. self.icon_3.gameObject:SetActive(true)
  494. self.text_3.gameObject:SetActive(true)
  495. end
  496. lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_extra.goods_icon),false,show_3)
  497. self:SetCapsuleeEggExtraGoodIdValue()
  498. self.btn_1:SetActive(true)
  499. self.btn_2:SetActive(true)
  500. self.bg_1:SetActive(true)
  501. self.bg_2:SetActive(true)
  502. self.icon_1.gameObject:SetActive(true)
  503. self.icon_2.gameObject:SetActive(true)
  504. self.text_1.gameObject:SetActive(true)
  505. self.text_2.gameObject:SetActive(true)
  506. elseif flag == "treasureHouse" then -- 珍宝阁
  507. self:ClearHonorBindId()
  508. self:SetJinValue()
  509. self:SetLockJinValue()
  510. self:SetTongValue()
  511. self:SetCommonGoodIdValue()
  512. local asset, source = "", ""
  513. for i=1,3 do
  514. asset, source = WordManager:GetCommonMoneyIcon(i)
  515. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  516. end
  517. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  518. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon))
  519. self.btn_2:SetActive(false)
  520. self.btn_3:SetActive(true)
  521. self.bg_2:SetActive(false)
  522. self.bg_3:SetActive(true)
  523. self.icon_2.gameObject:SetActive(false)
  524. self.icon_3:SetActive(true)
  525. self.text_2.gameObject:SetActive(false)
  526. self.text_3.gameObject:SetActive(true)
  527. self.icon_4.gameObject:SetActive(true)
  528. self.text_4.gameObject:SetActive(true)
  529. self.btn_4:SetActive(true)
  530. self.bg_4:SetActive(true)
  531. SetSizeDeltaX(self.bg_1.transform, 160)
  532. SetSizeDeltaX(self.bg_4.transform, 160)
  533. SetAnchoredPositionX(self.bg_1.transform,59.6)
  534. SetAnchoredPositionX(self.bg_3.transform,266)
  535. SetAnchoredPositionX(self.bg_4.transform,472.4)
  536. SetAnchoredPositionX(self.icon_1.transform,-12.3)
  537. SetAnchoredPositionX(self.icon_3.transform,190)
  538. SetAnchoredPositionX(self.icon_4.transform,392.3)
  539. SetAnchoredPositionX(self.btn_1.transform,122.05)
  540. SetAnchoredPositionX(self.btn_3.transform,328)
  541. SetAnchoredPositionX(self.btn_4.transform,533.95)
  542. SetAnchoredPositionX(self.text_1.transform,72.4)
  543. SetAnchoredPositionX(self.text_3.transform,270.7)
  544. SetAnchoredPositionX(self.text_4.transform,469.9)
  545. elseif flag == "Child" then
  546. self:ClearTongBindId()
  547. self:SetJinValue()
  548. self:SetLockJinValue()
  549. -- self:SetTongValue()
  550. self:SetChildCoinValue()
  551. self:SetHonorValue()
  552. local asset, source = "", ""
  553. for i=1,4 do
  554. asset, source = WordManager:GetCommonMoneyIcon(i)
  555. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  556. end
  557. lua_resM:setImageSprite(self, self.items[3].img, "child_asset", "child_hb_coin_icon",true)
  558. elseif flag == "capsuleEggScore" then --龙神宝库扭蛋积分
  559. self:ClearHonorBindId()
  560. self:SetJinValue()
  561. self:SetLockJinValue()
  562. self:SetTongValue()
  563. self:SetCapsuleEggScoreValue()
  564. local asset, source = "", ""
  565. for i=1,3 do
  566. asset, source = WordManager:GetCommonMoneyIcon(i)
  567. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  568. end
  569. asset, source = WordManager:GetCommonMoneyIcon(12)
  570. lua_resM:setImageSprite(self, self.items[4].img, asset, source,true)
  571. elseif flag == "dunGodScore" then --唤神副本商城积分
  572. self:ClearHonorBindId()
  573. self:SetJinValue()
  574. self:SetLockJinValue()
  575. self:SetTongValue()
  576. self:SetDunGodScoreValue()
  577. local asset, source = "", ""
  578. for i=1,3 do
  579. asset, source = WordManager:GetCommonMoneyIcon(i)
  580. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  581. end
  582. asset, source = WordManager:GetCommonMoneyIcon(13)
  583. lua_resM:setImageSprite(self, self.items[4].img, asset, source,true)
  584. elseif flag == "hopeGift"--明日之礼
  585. or flag == "warSoul" --/战魂粉尘
  586. or flag == "KfDFullCutLuckyGoodsId"--/限时折扣
  587. or flag == "stage_exchange"--/阶段兑换
  588. or flag == "materialSubmit"--/材料上交
  589. or flag == "DailyRechargePellet"
  590. or flag == "PowerTurnTable"--/源能转盘
  591. or flag == "SakuraGift"--/源樱之礼
  592. or flag == "god_act"--/式神抽奖
  593. or flag == "selectEgg"--/自选扭蛋
  594. or flag == "reversi"--黑白棋抽奖券
  595. then
  596. self:ClearHonorBindId()
  597. self:SetJinValue()
  598. self:SetLockJinValue()
  599. self:SetTongValue()
  600. self:SetCommonGoodIdValue()
  601. local asset, source = "", ""
  602. for i=1,3 do
  603. asset, source = WordManager:GetCommonMoneyIcon(i)
  604. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  605. end
  606. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  607. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon))
  608. self.btn_2:SetActive(false)
  609. self.btn_3:SetActive(false)
  610. self.bg_2:SetActive(false)
  611. self.bg_3:SetActive(false)
  612. self.icon_2.gameObject:SetActive(false)
  613. self.icon_3:SetActive(false)
  614. self.text_2.gameObject:SetActive(false)
  615. self.text_3.gameObject:SetActive(false)
  616. self.icon_4.gameObject:SetActive(true)
  617. self.text_4.gameObject:SetActive(true)
  618. self.btn_4:SetActive(true)
  619. self.bg_4:SetActive(true)
  620. SetSizeDeltaX(self.bg_1.transform, 160)
  621. SetSizeDeltaX(self.bg_4.transform, 160)
  622. SetAnchoredPositionX(self.bg_1.transform,266)
  623. SetAnchoredPositionX(self.bg_4.transform,472.4)
  624. SetAnchoredPositionX(self.icon_1.transform,190)
  625. SetAnchoredPositionX(self.icon_4.transform,392.3)
  626. SetAnchoredPositionX(self.btn_1.transform,328)
  627. SetAnchoredPositionX(self.btn_4.transform,533.95)
  628. SetAnchoredPositionX(self.text_1.transform,270.7)
  629. SetAnchoredPositionX(self.text_4.transform,469.9)
  630. elseif flag == "clothingFactory" then -- 制衣工坊时装币
  631. --制衣工坊第3个位置显示时装币(特殊货币类型),最后一个位置显示刷新券(物品)
  632. self:SetJinValue()
  633. self:SetCommonGoodIdValue()
  634. local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id)
  635. local function show_4( ... )
  636. self.btn_4:SetActive(true)
  637. self.bg_4:SetActive(true)
  638. self.icon_4.gameObject:SetActive(true)
  639. self.text_4.gameObject:SetActive(true)
  640. end
  641. lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4)
  642. local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(Config.ConfigNotNormalGoods[24].goods_id)
  643. local function show_3( ... )
  644. self.btn_3:SetActive(true)
  645. self.bg_3:SetActive(true)
  646. self.icon_3.gameObject:SetActive(true)
  647. self.text_3.gameObject:SetActive(true)
  648. end
  649. lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_extra.goods_icon),false,show_3)
  650. self:SetClothingFactoryMoneyShow()
  651. self.btn_1:SetActive(true)
  652. self.btn_2:SetActive(true)
  653. self.bg_1:SetActive(true)
  654. self.bg_2:SetActive(true)
  655. self.icon_1.gameObject:SetActive(true)
  656. self.icon_2.gameObject:SetActive(true)
  657. self.text_1.gameObject:SetActive(true)
  658. self.text_2.gameObject:SetActive(true)
  659. elseif flag == "highExchange" then -- 嗨点兑换资源显示
  660. --彩钻 + 道具
  661. self:ClearHonorBindId()
  662. self:SetJinValue()
  663. self:SetLockJinValue()
  664. self:SetTongValue()
  665. self:SetHighExchangeValue()
  666. self:AddHighExchangeEvent()
  667. local asset, source = "", ""
  668. for i=1,3 do
  669. asset, source = WordManager:GetCommonMoneyIcon(i)
  670. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  671. end
  672. if self.goods_id then
  673. local pic_id = KfActivityModel:getInstance():GetHighExchangeIconPic(self.goods_id)
  674. lua_resM:setImageSprite(self, self.items[4].img, "kfActivity_asset", "highPoint_price_"..pic_id,true)
  675. end
  676. self.btn_2:SetActive(false)
  677. self.btn_3:SetActive(false)
  678. self.bg_2:SetActive(false)
  679. self.bg_3:SetActive(false)
  680. self.icon_2.gameObject:SetActive(false)
  681. self.icon_3:SetActive(false)
  682. self.text_2.gameObject:SetActive(false)
  683. self.text_3.gameObject:SetActive(false)
  684. self.icon_4.gameObject:SetActive(true)
  685. self.text_4.gameObject:SetActive(true)
  686. self.btn_4:SetActive(false)
  687. self.bg_4:SetActive(true)
  688. SetSizeDeltaX(self.bg_1.transform, 160)
  689. SetSizeDeltaX(self.bg_4.transform, 160)
  690. SetAnchoredPositionX(self.bg_1.transform,266)
  691. SetAnchoredPositionX(self.bg_4.transform,472.4)
  692. SetAnchoredPositionX(self.icon_1.transform,190)
  693. SetAnchoredPositionX(self.icon_4.transform,392.3)
  694. SetAnchoredPositionX(self.btn_1.transform,328)
  695. SetAnchoredPositionX(self.btn_4.transform,533.95)
  696. SetAnchoredPositionX(self.text_1.transform,270.7)
  697. SetAnchoredPositionX(self.text_4.transform,469.9)
  698. elseif flag == "Psionic" then -- 圣物系统货币栏
  699. self:ClearHonorBindId()
  700. self:ClearTongBindId()
  701. self:SetJinValue()
  702. self:SetLockJinValue()
  703. self:SetPsionicSpecialDrawTenValue()
  704. self:SetPsionicSpecialDrawOneValue()
  705. self:AddPsionicDrawItemEvent()
  706. for i = 1,2 do
  707. asset, source = WordManager:GetCommonMoneyIcon(i)
  708. lua_resM:setImageSprite(self, self.items[i].img, asset, source,true)
  709. end
  710. self.btn_1:SetActive(true)
  711. self.btn_2:SetActive(true)
  712. self.bg_1:SetActive(true)
  713. self.bg_2:SetActive(true)
  714. self.icon_1.gameObject:SetActive(true)
  715. self.icon_2.gameObject:SetActive(true)
  716. self.text_1.gameObject:SetActive(true)
  717. self.text_2.gameObject:SetActive(true)
  718. local function show_4( ... )
  719. self.btn_4:SetActive(true)
  720. self.bg_4:SetActive(true)
  721. self.icon_4.gameObject:SetActive(true)
  722. self.text_4.gameObject:SetActive(true)
  723. end
  724. lua_resM:setOutsideImageSprite(self, self.items[4].img, GameResPath.GetGoodsIcon(self.deep_cfg.one), false, show_4)
  725. local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(Config.ConfigNotNormalGoods[24].goods_id)
  726. local function show_3( ... )
  727. self.btn_3:SetActive(true)
  728. self.bg_3:SetActive(true)
  729. self.icon_3.gameObject:SetActive(true)
  730. self.text_3.gameObject:SetActive(true)
  731. end
  732. lua_resM:setOutsideImageSprite(self, self.items[3].img, GameResPath.GetGoodsIcon(self.deep_cfg.ten), false, show_3)
  733. end
  734. end
  735. -- 展示粉玉后,UI移动到新位置
  736. function UIMoneyView:SetNewPosition( )
  737. SetLocalPosition(self.bgs, 0, 0)
  738. SetLocalPosition(self.icons, 0, 0)
  739. SetLocalPosition(self.add_btns, 0, 0)
  740. SetLocalPosition(self.nums, 0, 0)
  741. end
  742. -- 这里为隐藏所有UIMoney的内容,只显示铜币所在的位置的内容
  743. -- 添加时在对应的View类拿到money_view,并调用该方法,类型自行补充
  744. function UIMoneyView:ShowOneMoney( special_type )
  745. --显示特殊的货币类型如pvp_value
  746. self.special_type = special_type
  747. if self.special_type then
  748. self:ClearJinBindId()
  749. self:ClearTongBindId()
  750. if self.change_lockJin_id then
  751. self.mainVo:UnBind(self.change_lockJin_id)
  752. self.change_lockJin_id = nil
  753. end
  754. self.text_1.text = ""
  755. self.text_2.text = ""
  756. self.text_3.text = ""
  757. self.text_4.text = ""
  758. self.bg_1:SetActive(false)
  759. self.bg_2:SetActive(false)
  760. self.bg_4:SetActive(false)
  761. self.btn_1:SetActive(false)
  762. self.btn_2:SetActive(false)
  763. self.btn_4:SetActive(false)
  764. self.icon_1:SetActive(false)
  765. self.icon_2:SetActive(false)
  766. self.icon_4:SetActive(false)
  767. self:SetNewPosition()
  768. if self.special_type == "pvp_value" then -- 铜币替换为3v3货币
  769. lua_resM:setImageSprite(self, self.icon_3_img, "uiComponent_asset", "ui_momey_icon_19")
  770. end
  771. local onChangepvp_valueHandler = function ()
  772. self.text_3.text = WordManager:ConvertNum(self.mainVo.pvp_value)
  773. end
  774. if not self.bind_special_id then
  775. self.bind_special_id = self.mainVo:BindOne(special_type, onChangepvp_valueHandler)
  776. end
  777. onChangepvp_valueHandler()
  778. end
  779. end
  780. -- 基础货币的更新绑定 --
  781. function UIMoneyView:SetJinBindId( ) -- 彩钻
  782. if not self.change_jin_id then
  783. local function onChangeJinHandler(key, value, old_value) --彩钻
  784. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[1].type, value, old_value)
  785. self:SetJinValue()
  786. end
  787. self.change_jin_id = self.mainVo:BindOne("jin",onChangeJinHandler)
  788. end
  789. end
  790. function UIMoneyView:SetJinLockBindId( ) -- 红钻
  791. if not self.change_lockJin_id then
  792. local function onChangeJinLockHandler(key, value, old_value) --红钻
  793. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[2].type, value, old_value)
  794. self:SetLockJinValue()
  795. end
  796. self.change_lockJin_id = self.mainVo:BindOne("jinLock",onChangeJinLockHandler)
  797. end
  798. end
  799. function UIMoneyView:SetTongBindId( ) -- 交易券
  800. if not self.change_tong_id then
  801. local function onChangeTongHandler(key, value, old_value) --交易券
  802. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[3].type, value, old_value)
  803. self:SetTongValue()
  804. end
  805. self.change_tong_id = self.mainVo:BindOne("tong",onChangeTongHandler)
  806. end
  807. end
  808. function UIMoneyView:SetHonorBindId( ) -- 名望券
  809. if not self.change_honor_id then
  810. local function onChangeHonorHandler(key, value, old_value) --名望券更新
  811. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[4].type, value, old_value)
  812. self:SetHonorValue()
  813. end
  814. self.change_honor_id = self.mainVo:BindOne("honor",onChangeHonorHandler)
  815. end
  816. end
  817. -- 基础货币的更新绑定 --
  818. -- 清空绑定勾玉更新的逻辑
  819. function UIMoneyView:ClearJinBindId( )
  820. if self.change_jin_id then
  821. self.mainVo:UnBind(self.change_jin_id)
  822. self.change_jin_id = nil
  823. end
  824. end
  825. -- 清空绑定铜币更新的逻辑
  826. function UIMoneyView:ClearTongBindId( )
  827. if self.change_tong_id then
  828. self.mainVo:UnBind(self.change_tong_id)
  829. self.change_tong_id = nil
  830. end
  831. end
  832. --清空名望券更新逻辑
  833. function UIMoneyView:ClearHonorBindId( )
  834. if self.change_honor_id then
  835. self.mainVo:UnBind(self.change_honor_id)
  836. self.change_honor_id = nil
  837. end
  838. end
  839. -- 关闭全部货币更新 延时更新货币或界面销毁使用
  840. function UIMoneyView:UnBindAllValueUpdate( )
  841. self:ClearJinBindId()
  842. self:ClearTongBindId()
  843. self:ClearHonorBindId()
  844. if self.change_lockJin_id then
  845. self.mainVo:UnBind(self.change_lockJin_id)
  846. self.change_lockJin_id = nil
  847. end
  848. if self.bind_special_id then
  849. self.mainVo:UnBind(self.bind_special_id)
  850. self.bind_special_id = nil
  851. end
  852. if self.change_bag_id then
  853. self.goods_model:UnBind(self.change_bag_id)
  854. self.change_bag_id = nil
  855. end
  856. if self.change_score_id then
  857. self.goods_model:UnBind(self.change_score_id)
  858. self.change_score_id = nil
  859. end
  860. if self.update_guild_funds_id then
  861. self.mainVo:UnBind(self.update_guild_funds_id)
  862. self.update_guild_funds_id = nil
  863. end
  864. if self.update_empower_coin_id then
  865. EmpowerModel:GetInstance():UnBind(self.update_empower_coin_id)
  866. self.update_empower_coin_id = nil
  867. end
  868. if self.update_child_coin_id then
  869. ChildModel:GetInstance():UnBind(self.update_child_coin_id)
  870. self.update_child_coin_id = nil
  871. end
  872. if self.change_capsule_egg_score_id then
  873. CapsuleEggModel:getInstance():UnBind(self.change_capsule_egg_score_id)
  874. self.change_capsule_egg_score_id = nil
  875. end
  876. if self.highExchange_id then
  877. KfActivityModel:getInstance():UnBind(self.highExchange_id)
  878. self.highExchange_id = nil
  879. end
  880. if self.ps_special_draw_id then
  881. PsionicModel:getInstance():UnBind(self.ps_special_draw_id)
  882. self.ps_special_draw_id = nil
  883. end
  884. end
  885. -- 根据当前的货币类型,重新绑定货币更新,并且强制刷新货币
  886. function UIMoneyView:ReBindValueUpdate( )
  887. -- 重新绑定一次基础货币,然后再调用货币展示规则清除不必要的货币更新达到重新绑定的效果
  888. self:SetJinBindId()
  889. self:SetJinLockBindId()
  890. self:SetTongBindId()
  891. self:SetHonorBindId()
  892. self:ChangeShowFlag(self.money_show_flag, self.goods_id, self.goods_id_2)
  893. end
  894. -- 外部调用,是否展示货币收获特效
  895. function UIMoneyView:ShowMoneyEffect(show)
  896. self.show_money_effect = show
  897. end
  898. --货币特效,过滤货币类型,同时只能触发一个,类型越小优先级越高
  899. function UIMoneyView:CheckMoneyEffectType( money_type, value, old_value )
  900. if not self.show_money_effect then -- 不展示货币特效表现
  901. return
  902. end
  903. --1-4类型才需要
  904. if not money_type or money_type > 4 or money_type < 1 then
  905. return
  906. end
  907. --货币减少不需要特效
  908. if not old_value or (old_value and value and old_value > value) then
  909. return
  910. end
  911. --同时只播放一个
  912. if self.is_playing_money_effect then
  913. return
  914. end
  915. --没有显示出来的货币类型,不需要特效
  916. local temp_comp = "icon_"..money_type
  917. if not self[temp_comp] or not self[temp_comp].activeSelf then
  918. return
  919. end
  920. --优先级排序
  921. if not self.temp_money_type or self.temp_money_type > money_type then
  922. self.temp_money_type = money_type
  923. end
  924. local function on_delay( )
  925. self:PlayMoneyEffect(self.temp_money_type)
  926. self.temp_money_type = false
  927. GlobalTimerQuest:CancelQuest(self.effect_start_timer)
  928. self.effect_start_timer = nil
  929. end
  930. if not self.effect_start_timer then
  931. self.effect_start_timer = GlobalTimerQuest:AddDelayQuest(on_delay, 0.2)
  932. end
  933. end
  934. --加载货币特效
  935. function UIMoneyView:PlayMoneyEffect( money_type )
  936. self.is_playing_money_effect = true
  937. local function on_load_finish( )
  938. self:PlayMoneyAction(money_type)
  939. end
  940. if not self.loaded_money_effect_flag[money_type] then
  941. self.loaded_money_effect_flag[money_type] = true
  942. local effect_name = "getmoney"..money_type
  943. local uiTranform = self.effect_cont_list[money_type].transform
  944. local function load_call_back( objs, is_gameObject )
  945. if self.transform then --没有删除根变换
  946. if self._use_delete_method then
  947. return
  948. end
  949. if IsNull(uiTranform) then
  950. return
  951. end
  952. if not objs or not objs[0] then
  953. return
  954. end
  955. local go = is_gameObject and objs[0] or newObject(objs[0])
  956. local transform = go.transform
  957. transform:SetParent(uiTranform)
  958. SetLocalPosition(transform, 0, 0, 0)
  959. local particle_renderer = go:GetComponentsInChildren(typeof(UnityEngine.Renderer))
  960. if particle_renderer then
  961. for i=0,particle_renderer.Length-1 do
  962. particle_renderer[i].sortingOrder = 810
  963. end
  964. end
  965. on_load_finish()
  966. end
  967. end
  968. lua_resM:loadPrefab(self, effect_name, effect_name, load_call_back, false, ASSETS_LEVEL.HIGHT)
  969. else
  970. on_load_finish()
  971. end
  972. end
  973. --货币特效轨迹
  974. function UIMoneyView:PlayMoneyAction( money_type )
  975. local temp_money_type = money_type
  976. for i=1,4 do
  977. self.effect_force_conts[i]:SetActive(i==money_type)
  978. end
  979. if self.effect_cont_list[temp_money_type] then
  980. self.effect_cont_list[temp_money_type]:SetActive(true)
  981. end
  982. local function on_end( )
  983. if self.effect_cont_list[temp_money_type] then
  984. self.effect_cont_list[temp_money_type]:SetActive(false)
  985. end
  986. self.is_playing_money_effect = false
  987. GlobalTimerQuest:CancelQuest(self.effect_end_timer)
  988. self.effect_end_timer = nil
  989. end
  990. if not self.effect_end_timer then
  991. self.effect_end_timer = GlobalTimerQuest:AddDelayQuest(on_end, 1.3)
  992. end
  993. end
  994. function UIMoneyView:CancelEffectTimer( )
  995. if self.effect_start_timer then
  996. GlobalTimerQuest:CancelQuest(self.effect_start_timer)
  997. self.effect_start_timer = nil
  998. end
  999. if self.effect_end_timer then
  1000. GlobalTimerQuest:CancelQuest(self.effect_end_timer)
  1001. self.effect_end_timer = nil
  1002. end
  1003. end
  1004. function UIMoneyView:__delete( )
  1005. MainUIModel:getInstance():SetUIMoneyShowState(self.temp_uimoney_view_state)
  1006. self:CancelEffectTimer()
  1007. self:UnBindAllValueUpdate()
  1008. end
  1009. --添加名望券监听
  1010. function UIMoneyView:AddHonorEvent( )
  1011. if not self.change_honor_id then--如果之前已经清掉则设置的时候要再加载回来
  1012. local function onChangeHonorHandler(key, value, old_value) --名望券更新
  1013. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[4].type, value, old_value)
  1014. self:SetHonorValue()
  1015. end
  1016. self.change_honor_id = self.mainVo:BindOne("honor",onChangeHonorHandler)
  1017. end
  1018. end
  1019. --添加铜币监听
  1020. function UIMoneyView:AddTongEvent( )
  1021. if not self.change_tong_id then--如果之前已经清掉则设置的时候要再加载回来
  1022. local function onChangeTongHandler(key, value, old_value) --交易券
  1023. self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[3].type, value, old_value)
  1024. self:SetTongValue()
  1025. end
  1026. self.change_tong_id = self.mainVo:BindOne("tong",onChangeTongHandler)
  1027. end
  1028. end
  1029. --设置嗨点兑换嗨点数
  1030. function UIMoneyView:SetHighExchangeValue( )
  1031. local base_type = CustomActivityModel.CustomActBaseType.HIGH_EXCHANGE
  1032. local sub_type = self.goods_id or CustomActivityModel:getInstance():getActMinSubType(base_type)
  1033. local server_info = KfActivityModel:getInstance():GetHighPointInfo(base_type,sub_type)
  1034. local sum_points = 0
  1035. if server_info and server_info.sum_points then
  1036. sum_points = server_info.sum_points
  1037. end
  1038. self.text_4.text = sum_points
  1039. end
  1040. --添加嗨点兑换嗨点值监听
  1041. function UIMoneyView:AddHighExchangeEvent( )
  1042. if not self.highExchange_id then--如果之前已经清掉则设置的时候要再加载回来
  1043. local function onHighExchangeHandler()--嗨点值
  1044. self:SetHighExchangeValue()
  1045. end
  1046. self.highExchange_id = KfActivityModel:getInstance():Bind(KfActivityModel.ANS_UPDATE_VIEW,onHighExchangeHandler)
  1047. end
  1048. end
  1049. -- 圣物高级十连券
  1050. function UIMoneyView:SetPsionicSpecialDrawTenValue( )
  1051. self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2]
  1052. -- 获取抽奖券数
  1053. local ten_ticket_num = self.goods_model:GetTypeGoodsNum(self.deep_cfg.ten)
  1054. self.text_3.text = ten_ticket_num
  1055. end
  1056. -- 圣物高级单抽券
  1057. function UIMoneyView:SetPsionicSpecialDrawOneValue( )
  1058. self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2]
  1059. -- 获取抽奖券数
  1060. local single_ticket_num = self.goods_model:GetTypeGoodsNum(self.deep_cfg.one)
  1061. self.text_4.text = single_ticket_num
  1062. end
  1063. -- 圣物道具更新事件绑定
  1064. function UIMoneyView:AddPsionicDrawItemEvent( )
  1065. if not self.ps_special_draw_id then
  1066. local function update_ps_special_draw_one(tab_id)
  1067. if tab_id and tab_id == PsionicConst.TabId.PDataDig then
  1068. self:SetPsionicSpecialDrawTenValue()
  1069. self:SetPsionicSpecialDrawOneValue()
  1070. end
  1071. end
  1072. self.ps_special_draw_id = PsionicModel:getInstance():Bind(PsionicConst.UPDATE_RED_BY_TABID, update_ps_special_draw_one)
  1073. end
  1074. end
  1075. --改变+号按钮资源
  1076. function UIMoneyView:ChangeAddBtnRes( res )
  1077. for i=1,4 do
  1078. if not self.items[i].btn_img then
  1079. self.items[i].btn_img = self:GetChild("add_btns/add_btn_"..i):GetComponent("Image")
  1080. end
  1081. lua_resM:setImageSprite(self, self.items[i].btn_img, "uiComponent_asset", res, true)
  1082. end
  1083. end