UIMoneyView = UIMoneyView or BaseClass(BaseComponent) local UIMoneyView = UIMoneyView local lua_resM = lua_resM local WordManager = WordManager function UIMoneyView:__init(parent) self.parent_transform = parent self.special_type = nil self.effect_force_conts = {} self.effect_cont_list = {} self.loaded_money_effect_flag = {} self.temp_uimoney_view_state = false -- 临时UIMoneyView界面开启标志量 self.show_money_effect = true self.goods_model = GoodsModel:getInstance() self.ui_tooltip_mgr = UIToolTipMgr:getInstance() end function UIMoneyView:SetData( ) self.mainVo = RoleManager.Instance.mainRoleInfo self:CreateGameObject(UIType.UIMoneyView) end function UIMoneyView:LoadSuccess( ) self.text_1 = self:GetChild("nums/num_1"):GetComponent(typeof(TMPro.TextMeshProUGUI)) self.btn_1 = self:GetChild("add_btns/add_btn_1").gameObject self.bg_1 = self:GetChild("bgs/bg_1").gameObject self.icon_1 = self:GetChild("icons/icon_1").gameObject self.text_2 = self:GetChild("nums/num_2"):GetComponent(typeof(TMPro.TextMeshProUGUI)) self.btn_2 = self:GetChild("add_btns/add_btn_2").gameObject self.bg_2 = self:GetChild("bgs/bg_2").gameObject self.icon_2 = self:GetChild("icons/icon_2").gameObject self.text_3 = self:GetChild("nums/num_3"):GetComponent(typeof(TMPro.TextMeshProUGUI)) self.btn_3 = self:GetChild("add_btns/add_btn_3").gameObject self.bg_3 = self:GetChild("bgs/bg_3").gameObject self.icon_3 = self:GetChild("icons/icon_3").gameObject self.icon_3_img = self:GetChild("icons/icon_3"):GetComponent("Image") self.text_4 = self:GetChild("nums/num_4"):GetComponent(typeof(TMPro.TextMeshProUGUI)) self.btn_4 = self:GetChild("add_btns/add_btn_4").gameObject self.bg_4 = self:GetChild("bgs/bg_4").gameObject self.icon_4 = self:GetChild("icons/icon_4").gameObject self.items = {} for i=1,4 do self.items[i] = {} self.items[i].txt = self:GetChild("nums/num_"..i):GetComponent(typeof(TMPro.TextMeshProUGUI)) self.items[i].btn = self:GetChild("add_btns/add_btn_"..i).gameObject self.items[i].img = self:GetChild("icons/icon_"..i):GetComponent("Image") end --特效力场与容器 for i=1,4 do local str = "icons/icon_"..i.."/particle_force_"..i self.effect_force_conts[i] = self:GetChild(str).gameObject local effect_cont_name = "effect_root/effect_cont_"..i self.effect_cont_list[i] = self:GetChild(effect_cont_name).gameObject end self.effect_root_obj = self:GetChild("effect_root").gameObject self.bgs = self:GetChild("bgs") self.icons = self:GetChild("icons") self.add_btns = self:GetChild("add_btns") self.nums = self:GetChild("nums") -- 一般不单独展示粉玉,这边确定不显示粉玉的金额 self.text_4.text = "0" self:AddEvent() if self.special_type then self:ShowOneMoney(self.special_type) else self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetHonorValue() end self:SetPosition(0, ScreenHeight/2-31) lua_resM:setImageSprite(self, self.items[1].img, "uiComponent_asset", "ui_momey_icon_1",true) lua_resM:setImageSprite(self, self.items[2].img, "uiComponent_asset", "ui_momey_icon_2",true) lua_resM:setImageSprite(self, self.items[3].img, "uiComponent_asset", "ui_momey_icon_3",true) lua_resM:setImageSprite(self, self.items[4].img, "uiComponent_asset", "ui_momey_icon_4",true) self.temp_uimoney_view_state = MainUIModel:getInstance():GetUIMoneyShowState(true) MainUIModel:getInstance():SetUIMoneyShowState(true) if self.need_refresh_show_flag then self:ChangeShowFlag(self.money_show_flag,self.goods_id, self.goods_id_2) end end function UIMoneyView:AddEvent( ) local function on_btn_click( target ) if target == self.btn_3 then if self.money_show_flag == "Child" then self.ui_tooltip_mgr:AppendGoodsTips(ChildModel:GetInstance():GetChildCoinId(),nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "capsuleegg" then self.ui_tooltip_mgr:AppendGoodsTips(CapsuleEggModel:getInstance().ten_ticket_type_id,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "clothingFactory" then self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[24].goods_id,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "Psionic" then self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2] self.ui_tooltip_mgr:AppendGoodsTips(self.deep_cfg.ten,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "tarot" then self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id_2,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "reversi" then self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id,nil,nil,nil,nil,nil,nil,true) else self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[3].goods_id,nil,nil,nil,nil,nil,nil,true) end elseif target == self.btn_1 then self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[1].goods_id,nil,nil,nil,nil,nil,nil,true) elseif target == self.btn_2 then if self.money_show_flag == "highExchange" then Message.show("嗨点值完成嗨点任务可获得") else self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[2].goods_id,nil,nil,nil,nil,nil,nil,true) end elseif target == self.btn_4 then if self.money_show_flag == "Guild" then self.ui_tooltip_mgr:AppendGoodsTips(GuildModel.GuildContributeId,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "Mate" then self.ui_tooltip_mgr:AppendGoodsTips(MateConst.MateMoneyId,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "Empower" then self.ui_tooltip_mgr:AppendGoodsTips(EmpowerModel:GetInstance():GetEmpowerCoinGoodId(),nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "capsuleEggScore" then self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[12].goods_id,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "dunGodScore" then self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[13].goods_id,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "Psionic" then self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2] self.ui_tooltip_mgr:AppendGoodsTips(self.deep_cfg.one,nil,nil,nil,nil,nil,nil,true) elseif self.money_show_flag == "hopeGift" or self.money_show_flag == "treasureHouse" or self.money_show_flag == "competing" or self.money_show_flag == "tarot" or self.money_show_flag == "capsuleegg" or self.money_show_flag == "warSoul" or self.money_show_flag == "KfDFullCutLuckyGoodsId" or self.money_show_flag == "stage_exchange" or self.money_show_flag == "materialSubmit" or self.money_show_flag == "DailyRechargePellet" or self.money_show_flag == "PowerTurnTable" or self.money_show_flag == "SakuraGift" or self.money_show_flag == "clothingFactory" or self.money_show_flag == "selectEgg" or self.money_show_flag == "reversi" then self.ui_tooltip_mgr:AppendGoodsTips(self.goods_id,nil,nil,nil,nil,nil,nil,true) else self.ui_tooltip_mgr:AppendGoodsTips(Config.ConfigNotNormalGoods[4].goods_id,nil,nil,nil,nil,nil,nil,true) end end end AddClickEvent(self.btn_1, on_btn_click) AddClickEvent(self.btn_2, on_btn_click) AddClickEvent(self.btn_3, on_btn_click) AddClickEvent(self.btn_4, on_btn_click) self:SetJinBindId() self:SetJinLockBindId() self:SetTongBindId() self:SetHonorBindId() --监听背包变化,调用了ChangeShowFlag的童鞋记得在这里绑定背包 local on_bag_change = function( ) print('Ych:UIMoneyView.lua[159] data', self.money_show_flag) if self.money_show_flag == "hopeGift" or self.money_show_flag == "treasureHouse" or self.money_show_flag == "competing" or self.money_show_flag == "warSoul" or self.money_show_flag == "KfDFullCutLuckyGoodsId" or self.money_show_flag == "stage_exchange" or self.money_show_flag == "materialSubmit" or self.money_show_flag == "DailyRechargePellet" or self.money_show_flag == "PowerTurnTable" or self.money_show_flag == "SakuraGift" or self.money_show_flag == "clothingFactory" or self.money_show_flag == "god_act" or self.money_show_flag == "selectEgg" or self.money_show_flag == "reversi" then self:SetCommonGoodIdValue() elseif self.money_show_flag == "capsuleegg" then self:SetCommonGoodIdValue() self:SetCapsuleeEggExtraGoodIdValue() elseif self.money_show_flag == "clothingFactory" then self:SetCommonGoodIdValue() self:SetClothingFactoryMoneyShow() elseif self.money_show_flag == "tarot" then self:SetJinValue() self:SetTarotGoodIdValue() end if self._use_delete_method then return end end self.change_bag_id = self.goods_model:Bind(GoodsModel.CHANGE_BAGLIST, on_bag_change) --监听特殊货币变化 local on_special_score_change = function() if self.money_show_flag == "Mate" then self:SetMateValue() elseif self.money_show_flag == "dunGodScore" then self:SetDunGodScoreValue() elseif self.money_show_flag == "warSoul" then self:SetCommonGoodIdValue() elseif self.money_show_flag == "Child" then self:SetChildCoinValue() elseif self.money_show_flag == "clothingFactory" then self:SetClothingFactoryMoneyShow() end end self.change_score_id = self.goods_model:Bind(GoodsModel.UPDATE_SPECIAL_SCORE, on_special_score_change) local function update_guild_contribute() self:SetGuildCoinValue() end self.update_guild_funds_id = self.mainVo:BindOne("guild_contribute",update_guild_contribute) local function update_empower_coin(num) self:SetEmpowerCoinValue(num) end self.update_empower_coin_id = EmpowerModel:GetInstance():Bind(EmpowerConst.UPDATA_EMTREASURE_COIN_NUM,update_empower_coin) local function update_child_coin(num) self:SetChildCoinValue(num) end self.update_child_coin_id = ChildModel:GetInstance():Bind(ChildConst.UPDATA_CHILD_COIN_NUM,update_child_coin) local function update_capsule_egg_score() if self.money_show_flag == "capsuleEggScore" then self:SetCapsuleEggScoreValue() end end self.change_capsule_egg_score_id = CapsuleEggModel:getInstance():Bind(CapsuleEggConst.UPDATE_CAPSULE_EGG_SCORE,update_capsule_egg_score) end -- 设置玩家勾玉总数额 function UIMoneyView:SetJinValue() self.text_1.text = WordManager:ConvertNum(self.mainVo.jin) end -- 单独展示玩家的绑玉总额 function UIMoneyView:SetLockJinValue() self.text_2.text = WordManager:ConvertNum(self.mainVo.jinLock) end -- 单独展示玩家的铜币总额 function UIMoneyView:SetTongValue() self.text_3.text = WordManager:ConvertNum(self.mainVo.tong) end -- 单独展示玩家的名望券 function UIMoneyView:SetHonorValue() self.text_4.text = WordManager:ConvertNum(self.mainVo.honor) end -- 单独展示玩家的羁绊点 function UIMoneyView:SetMateValue() self.text_4.text = WordManager:ConvertNum(self.goods_model:GetSpecialScore(MateConst.MateMoneyId)) end -- 单独展示玩家的社团资金 function UIMoneyView:SetGuildCoinValue( ) self.text_4.text = WordManager:ConvertNum(self.mainVo.guild_contribute) end -- 单独展示器灵币 function UIMoneyView:SetEmpowerCoinValue(num) if self.money_show_flag == "Empower" then self.text_4.text = num end end -- 单独展示宝宝图鉴升级材料币 function UIMoneyView:SetChildCoinValue(num) if self.money_show_flag == "Child" then local num = self.goods_model:GetSpecialScore(ChildConst.HandBookCoinID) self.text_3.text = WordManager:ConvertNum(num) end end --单独展示龙神宝库扭蛋积分 function UIMoneyView:SetCapsuleEggScoreValue() self.text_4.text = WordManager:ConvertNum(CapsuleEggModel:getInstance():GetCapsuleEggScore()) end --单独展示唤神副本积分 function UIMoneyView:SetDunGodScoreValue() self.text_4.text = WordManager:ConvertNum(self.goods_model:GetSpecialScore(Config.ConfigNotNormalGoods[13].goods_id)) end --通用道具ID显示数量 function UIMoneyView:SetCommonGoodIdValue( ) local num = self.goods_model:GetTypeGoodsNum(self.goods_id) if self.money_show_flag == "warSoul" then num = self.goods_model:GetSpecialScore(GoodsModel.SpacielPriceId.WarSoulPrice) end self.text_4.text = WordManager:ConvertNum(num) end --龙神宝库交易券位置换成十连券显示 function UIMoneyView:SetCapsuleeEggExtraGoodIdValue() local num = self.goods_model:GetTypeGoodsNum(CapsuleEggModel:getInstance().ten_ticket_type_id) self.text_3.text = WordManager:ConvertNum(num) end --塔罗牌 function UIMoneyView:SetTarotGoodIdValue() local num = self.goods_model:GetTypeGoodsNum(self.goods_id_2) self.text_3.text = WordManager:ConvertNum(num) local num_2 = self.goods_model:GetTypeGoodsNum(self.goods_id) self.text_4.text = WordManager:ConvertNum(num_2) end --制衣工厂交易券位置换成时装币 function UIMoneyView:SetClothingFactoryMoneyShow( ) local num = self.goods_model:GetSpecialScore(Config.ConfigNotNormalGoods[24].goods_id) self.text_3.text = WordManager:ConvertNum(num) end -- 这里为保留所有的UIMoney内容的同时修改特定位置的展示内容,修改时在对应的View类拿到money_view,并调用该方法 -- flag:类型标志str,需要什么类型自行添加,记得UnBind更新 function UIMoneyView:ChangeShowFlag( flag,goods_id,goods_id_2 ) self.money_show_flag = flag self.goods_id = goods_id--有些界面用的不是货币而是道具 具体参考例子"hopeGift" SetCommonGoodIdValue self.goods_id_2 = goods_id_2 or false if not self.is_loaded then self.need_refresh_show_flag = true end if not flag or flag == "Default" then self:AddHonorEvent() self:AddTongEvent() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetHonorValue() local asset, source = "", "" for i=1,4 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end elseif flag == "actWindow" then -- 小界面默认展示彩钻不显示名望券 self:AddHonorEvent() self:AddTongEvent() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetHonorValue() local asset, source = "", "" for i=1,4 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end self.btn_4:SetActive(false) self.bg_4:SetActive(false) self.icon_4:SetActive(false) self.text_4.gameObject:SetActive(false) elseif flag == "Mate" then self.btn_1:SetActive(false) self.bg_1:SetActive(false) self.icon_1.gameObject:SetActive(false) self.text_1.gameObject:SetActive(false) self.btn_2:SetActive(false) self.btn_3:SetActive(false) self.bg_2:SetActive(false) self.bg_3:SetActive(false) self.icon_2.gameObject:SetActive(false) self.icon_3:SetActive(false) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(false) ------------------------- self:ClearHonorBindId() self:SetMateValue() local asset, source = WordManager:GetCommonMoneyIcon(19) lua_resM:setImageSprite(self, self.items[4].img, asset, source,true) elseif flag == "Guild" then -- 社团要展示社团贡献 self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetGuildCoinValue() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end asset, source = WordManager:GetCommonMoneyIcon(GuildModel.GuildContributeType) lua_resM:setImageSprite(self, self.items[4].img, asset, source,true) elseif flag == "smallWindow2" then -- 展示彩钻和红钻 self:SetJinValue() self:SetLockJinValue() self.btn_2:SetActive(true) self.bg_2:SetActive(true) self.icon_2:SetActive(true) self.text_2.gameObject:SetActive(true) self.btn_3:SetActive(false) self.bg_3:SetActive(false) self.icon_3:SetActive(false) self.text_3.gameObject:SetActive(false) self.btn_4:SetActive(false) self.bg_4:SetActive(false) self.icon_4:SetActive(false) self.text_4.gameObject:SetActive(false) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_2.transform, 160) SetAnchoredPositionX(self.bg_1.transform,266) SetAnchoredPositionX(self.bg_2.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,190) SetAnchoredPositionX(self.icon_2.transform,392.3) SetAnchoredPositionX(self.btn_1.transform,328) SetAnchoredPositionX(self.btn_2.transform,533.95) SetAnchoredPositionX(self.text_1.transform,270.7) SetAnchoredPositionX(self.text_2.transform,469.9) local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end elseif flag == "Empower" then -- 展示彩钻和器灵币 self:SetJinValue() self:SetEmpowerCoinValue() self.btn_2:SetActive(false) self.btn_3:SetActive(false) self.bg_2:SetActive(false) self.bg_3:SetActive(false) self.icon_2.gameObject:SetActive(false) self.icon_3:SetActive(false) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(false) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_4.transform, 160) SetAnchoredPositionX(self.bg_1.transform,266) SetAnchoredPositionX(self.bg_4.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,190) SetAnchoredPositionX(self.icon_4.transform,392.3) SetAnchoredPositionX(self.btn_1.transform,328) SetAnchoredPositionX(self.btn_4.transform,533.95) SetAnchoredPositionX(self.text_1.transform,270.7) SetAnchoredPositionX(self.text_4.transform,469.9) local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4) elseif flag == "competing" then -- 竞榜和竞榜道具 self:SetJinValue() self:SetCommonGoodIdValue() local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end if goods_basic then lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4) end self.btn_1:SetActive(true) self.btn_2:SetActive(false) self.btn_3:SetActive(false) self.bg_1:SetActive(true) self.bg_2:SetActive(false) self.bg_3:SetActive(false) self.icon_1.gameObject:SetActive(true) self.icon_2.gameObject:SetActive(false) self.icon_3.gameObject:SetActive(false) self.text_1.gameObject:SetActive(true) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(false) elseif flag == "tarot" then -- 塔罗牌 self:SetJinValue() local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4) local goods_basic_2 = self.goods_model:GetGoodsBasicByTypeId(self.goods_id_2) local function show_3( ... ) self.btn_3:SetActive(true) self.bg_3:SetActive(true) self.icon_3.gameObject:SetActive(true) self.text_3.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_2.goods_icon),false,show_3) self:SetTarotGoodIdValue() self.btn_2:SetActive(false) self.bg_2:SetActive(false) self.icon_2.gameObject:SetActive(false) self.text_2.gameObject:SetActive(false) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_4.transform, 160) SetAnchoredPositionX(self.bg_1.transform,59.6) SetAnchoredPositionX(self.bg_3.transform,266) SetAnchoredPositionX(self.bg_4.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,-12.3) SetAnchoredPositionX(self.icon_3.transform,186) SetAnchoredPositionX(self.icon_4.transform,388) SetAnchoredPositionX(self.btn_1.transform,122.05) SetAnchoredPositionX(self.btn_3.transform,328) SetAnchoredPositionX(self.btn_4.transform,533.95) SetAnchoredPositionX(self.text_1.transform,72.4) SetAnchoredPositionX(self.text_3.transform,270.7) SetAnchoredPositionX(self.text_4.transform,469.9) elseif flag == "capsuleegg" then -- 龙神宝库 --龙神宝库新增:把交易券显示换成十连券显示 self:SetJinValue() self:SetCommonGoodIdValue() local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4) local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(CapsuleEggModel:getInstance().ten_ticket_type_id) local function show_3( ... ) self.btn_3:SetActive(true) self.bg_3:SetActive(true) self.icon_3.gameObject:SetActive(true) self.text_3.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_extra.goods_icon),false,show_3) self:SetCapsuleeEggExtraGoodIdValue() self.btn_1:SetActive(true) self.btn_2:SetActive(true) self.bg_1:SetActive(true) self.bg_2:SetActive(true) self.icon_1.gameObject:SetActive(true) self.icon_2.gameObject:SetActive(true) self.text_1.gameObject:SetActive(true) self.text_2.gameObject:SetActive(true) elseif flag == "treasureHouse" then -- 珍宝阁 self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetCommonGoodIdValue() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon)) self.btn_2:SetActive(false) self.btn_3:SetActive(true) self.bg_2:SetActive(false) self.bg_3:SetActive(true) self.icon_2.gameObject:SetActive(false) self.icon_3:SetActive(true) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) self.btn_4:SetActive(true) self.bg_4:SetActive(true) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_4.transform, 160) SetAnchoredPositionX(self.bg_1.transform,59.6) SetAnchoredPositionX(self.bg_3.transform,266) SetAnchoredPositionX(self.bg_4.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,-12.3) SetAnchoredPositionX(self.icon_3.transform,190) SetAnchoredPositionX(self.icon_4.transform,392.3) SetAnchoredPositionX(self.btn_1.transform,122.05) SetAnchoredPositionX(self.btn_3.transform,328) SetAnchoredPositionX(self.btn_4.transform,533.95) SetAnchoredPositionX(self.text_1.transform,72.4) SetAnchoredPositionX(self.text_3.transform,270.7) SetAnchoredPositionX(self.text_4.transform,469.9) elseif flag == "Child" then self:ClearTongBindId() self:SetJinValue() self:SetLockJinValue() -- self:SetTongValue() self:SetChildCoinValue() self:SetHonorValue() local asset, source = "", "" for i=1,4 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end lua_resM:setImageSprite(self, self.items[3].img, "child_asset", "child_hb_coin_icon",true) elseif flag == "capsuleEggScore" then --龙神宝库扭蛋积分 self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetCapsuleEggScoreValue() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end asset, source = WordManager:GetCommonMoneyIcon(12) lua_resM:setImageSprite(self, self.items[4].img, asset, source,true) elseif flag == "dunGodScore" then --唤神副本商城积分 self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetDunGodScoreValue() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end asset, source = WordManager:GetCommonMoneyIcon(13) lua_resM:setImageSprite(self, self.items[4].img, asset, source,true) elseif flag == "hopeGift"--明日之礼 or flag == "warSoul" --/战魂粉尘 or flag == "KfDFullCutLuckyGoodsId"--/限时折扣 or flag == "stage_exchange"--/阶段兑换 or flag == "materialSubmit"--/材料上交 or flag == "DailyRechargePellet" or flag == "PowerTurnTable"--/源能转盘 or flag == "SakuraGift"--/源樱之礼 or flag == "god_act"--/式神抽奖 or flag == "selectEgg"--/自选扭蛋 or flag == "reversi"--黑白棋抽奖券 then self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetCommonGoodIdValue() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon)) self.btn_2:SetActive(false) self.btn_3:SetActive(false) self.bg_2:SetActive(false) self.bg_3:SetActive(false) self.icon_2.gameObject:SetActive(false) self.icon_3:SetActive(false) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(false) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) self.btn_4:SetActive(true) self.bg_4:SetActive(true) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_4.transform, 160) SetAnchoredPositionX(self.bg_1.transform,266) SetAnchoredPositionX(self.bg_4.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,190) SetAnchoredPositionX(self.icon_4.transform,392.3) SetAnchoredPositionX(self.btn_1.transform,328) SetAnchoredPositionX(self.btn_4.transform,533.95) SetAnchoredPositionX(self.text_1.transform,270.7) SetAnchoredPositionX(self.text_4.transform,469.9) elseif flag == "clothingFactory" then -- 制衣工坊时装币 --制衣工坊第3个位置显示时装币(特殊货币类型),最后一个位置显示刷新券(物品) self:SetJinValue() self:SetCommonGoodIdValue() local goods_basic = self.goods_model:GetGoodsBasicByTypeId(self.goods_id) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[4].img,GameResPath.GetGoodsIcon(goods_basic.goods_icon),false,show_4) local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(Config.ConfigNotNormalGoods[24].goods_id) local function show_3( ... ) self.btn_3:SetActive(true) self.bg_3:SetActive(true) self.icon_3.gameObject:SetActive(true) self.text_3.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self,self.items[3].img,GameResPath.GetGoodsIcon(goods_basic_extra.goods_icon),false,show_3) self:SetClothingFactoryMoneyShow() self.btn_1:SetActive(true) self.btn_2:SetActive(true) self.bg_1:SetActive(true) self.bg_2:SetActive(true) self.icon_1.gameObject:SetActive(true) self.icon_2.gameObject:SetActive(true) self.text_1.gameObject:SetActive(true) self.text_2.gameObject:SetActive(true) elseif flag == "highExchange" then -- 嗨点兑换资源显示 --彩钻 + 道具 self:ClearHonorBindId() self:SetJinValue() self:SetLockJinValue() self:SetTongValue() self:SetHighExchangeValue() self:AddHighExchangeEvent() local asset, source = "", "" for i=1,3 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end if self.goods_id then local pic_id = KfActivityModel:getInstance():GetHighExchangeIconPic(self.goods_id) lua_resM:setImageSprite(self, self.items[4].img, "kfActivity_asset", "highPoint_price_"..pic_id,true) end self.btn_2:SetActive(false) self.btn_3:SetActive(false) self.bg_2:SetActive(false) self.bg_3:SetActive(false) self.icon_2.gameObject:SetActive(false) self.icon_3:SetActive(false) self.text_2.gameObject:SetActive(false) self.text_3.gameObject:SetActive(false) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) self.btn_4:SetActive(false) self.bg_4:SetActive(true) SetSizeDeltaX(self.bg_1.transform, 160) SetSizeDeltaX(self.bg_4.transform, 160) SetAnchoredPositionX(self.bg_1.transform,266) SetAnchoredPositionX(self.bg_4.transform,472.4) SetAnchoredPositionX(self.icon_1.transform,190) SetAnchoredPositionX(self.icon_4.transform,392.3) SetAnchoredPositionX(self.btn_1.transform,328) SetAnchoredPositionX(self.btn_4.transform,533.95) SetAnchoredPositionX(self.text_1.transform,270.7) SetAnchoredPositionX(self.text_4.transform,469.9) elseif flag == "Psionic" then -- 圣物系统货币栏 self:ClearHonorBindId() self:ClearTongBindId() self:SetJinValue() self:SetLockJinValue() self:SetPsionicSpecialDrawTenValue() self:SetPsionicSpecialDrawOneValue() self:AddPsionicDrawItemEvent() for i = 1,2 do asset, source = WordManager:GetCommonMoneyIcon(i) lua_resM:setImageSprite(self, self.items[i].img, asset, source,true) end self.btn_1:SetActive(true) self.btn_2:SetActive(true) self.bg_1:SetActive(true) self.bg_2:SetActive(true) self.icon_1.gameObject:SetActive(true) self.icon_2.gameObject:SetActive(true) self.text_1.gameObject:SetActive(true) self.text_2.gameObject:SetActive(true) local function show_4( ... ) self.btn_4:SetActive(true) self.bg_4:SetActive(true) self.icon_4.gameObject:SetActive(true) self.text_4.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self, self.items[4].img, GameResPath.GetGoodsIcon(self.deep_cfg.one), false, show_4) local goods_basic_extra = self.goods_model:GetGoodsBasicByTypeId(Config.ConfigNotNormalGoods[24].goods_id) local function show_3( ... ) self.btn_3:SetActive(true) self.bg_3:SetActive(true) self.icon_3.gameObject:SetActive(true) self.text_3.gameObject:SetActive(true) end lua_resM:setOutsideImageSprite(self, self.items[3].img, GameResPath.GetGoodsIcon(self.deep_cfg.ten), false, show_3) end end -- 展示粉玉后,UI移动到新位置 function UIMoneyView:SetNewPosition( ) SetLocalPosition(self.bgs, 0, 0) SetLocalPosition(self.icons, 0, 0) SetLocalPosition(self.add_btns, 0, 0) SetLocalPosition(self.nums, 0, 0) end -- 这里为隐藏所有UIMoney的内容,只显示铜币所在的位置的内容 -- 添加时在对应的View类拿到money_view,并调用该方法,类型自行补充 function UIMoneyView:ShowOneMoney( special_type ) --显示特殊的货币类型如pvp_value self.special_type = special_type if self.special_type then self:ClearJinBindId() self:ClearTongBindId() if self.change_lockJin_id then self.mainVo:UnBind(self.change_lockJin_id) self.change_lockJin_id = nil end self.text_1.text = "" self.text_2.text = "" self.text_3.text = "" self.text_4.text = "" self.bg_1:SetActive(false) self.bg_2:SetActive(false) self.bg_4:SetActive(false) self.btn_1:SetActive(false) self.btn_2:SetActive(false) self.btn_4:SetActive(false) self.icon_1:SetActive(false) self.icon_2:SetActive(false) self.icon_4:SetActive(false) self:SetNewPosition() if self.special_type == "pvp_value" then -- 铜币替换为3v3货币 lua_resM:setImageSprite(self, self.icon_3_img, "uiComponent_asset", "ui_momey_icon_19") end local onChangepvp_valueHandler = function () self.text_3.text = WordManager:ConvertNum(self.mainVo.pvp_value) end if not self.bind_special_id then self.bind_special_id = self.mainVo:BindOne(special_type, onChangepvp_valueHandler) end onChangepvp_valueHandler() end end -- 基础货币的更新绑定 -- function UIMoneyView:SetJinBindId( ) -- 彩钻 if not self.change_jin_id then local function onChangeJinHandler(key, value, old_value) --彩钻 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[1].type, value, old_value) self:SetJinValue() end self.change_jin_id = self.mainVo:BindOne("jin",onChangeJinHandler) end end function UIMoneyView:SetJinLockBindId( ) -- 红钻 if not self.change_lockJin_id then local function onChangeJinLockHandler(key, value, old_value) --红钻 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[2].type, value, old_value) self:SetLockJinValue() end self.change_lockJin_id = self.mainVo:BindOne("jinLock",onChangeJinLockHandler) end end function UIMoneyView:SetTongBindId( ) -- 交易券 if not self.change_tong_id then local function onChangeTongHandler(key, value, old_value) --交易券 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[3].type, value, old_value) self:SetTongValue() end self.change_tong_id = self.mainVo:BindOne("tong",onChangeTongHandler) end end function UIMoneyView:SetHonorBindId( ) -- 名望券 if not self.change_honor_id then local function onChangeHonorHandler(key, value, old_value) --名望券更新 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[4].type, value, old_value) self:SetHonorValue() end self.change_honor_id = self.mainVo:BindOne("honor",onChangeHonorHandler) end end -- 基础货币的更新绑定 -- -- 清空绑定勾玉更新的逻辑 function UIMoneyView:ClearJinBindId( ) if self.change_jin_id then self.mainVo:UnBind(self.change_jin_id) self.change_jin_id = nil end end -- 清空绑定铜币更新的逻辑 function UIMoneyView:ClearTongBindId( ) if self.change_tong_id then self.mainVo:UnBind(self.change_tong_id) self.change_tong_id = nil end end --清空名望券更新逻辑 function UIMoneyView:ClearHonorBindId( ) if self.change_honor_id then self.mainVo:UnBind(self.change_honor_id) self.change_honor_id = nil end end -- 关闭全部货币更新 延时更新货币或界面销毁使用 function UIMoneyView:UnBindAllValueUpdate( ) self:ClearJinBindId() self:ClearTongBindId() self:ClearHonorBindId() if self.change_lockJin_id then self.mainVo:UnBind(self.change_lockJin_id) self.change_lockJin_id = nil end if self.bind_special_id then self.mainVo:UnBind(self.bind_special_id) self.bind_special_id = nil end if self.change_bag_id then self.goods_model:UnBind(self.change_bag_id) self.change_bag_id = nil end if self.change_score_id then self.goods_model:UnBind(self.change_score_id) self.change_score_id = nil end if self.update_guild_funds_id then self.mainVo:UnBind(self.update_guild_funds_id) self.update_guild_funds_id = nil end if self.update_empower_coin_id then EmpowerModel:GetInstance():UnBind(self.update_empower_coin_id) self.update_empower_coin_id = nil end if self.update_child_coin_id then ChildModel:GetInstance():UnBind(self.update_child_coin_id) self.update_child_coin_id = nil end if self.change_capsule_egg_score_id then CapsuleEggModel:getInstance():UnBind(self.change_capsule_egg_score_id) self.change_capsule_egg_score_id = nil end if self.highExchange_id then KfActivityModel:getInstance():UnBind(self.highExchange_id) self.highExchange_id = nil end if self.ps_special_draw_id then PsionicModel:getInstance():UnBind(self.ps_special_draw_id) self.ps_special_draw_id = nil end end -- 根据当前的货币类型,重新绑定货币更新,并且强制刷新货币 function UIMoneyView:ReBindValueUpdate( ) -- 重新绑定一次基础货币,然后再调用货币展示规则清除不必要的货币更新达到重新绑定的效果 self:SetJinBindId() self:SetJinLockBindId() self:SetTongBindId() self:SetHonorBindId() self:ChangeShowFlag(self.money_show_flag, self.goods_id, self.goods_id_2) end -- 外部调用,是否展示货币收获特效 function UIMoneyView:ShowMoneyEffect(show) self.show_money_effect = show end --货币特效,过滤货币类型,同时只能触发一个,类型越小优先级越高 function UIMoneyView:CheckMoneyEffectType( money_type, value, old_value ) if not self.show_money_effect then -- 不展示货币特效表现 return end --1-4类型才需要 if not money_type or money_type > 4 or money_type < 1 then return end --货币减少不需要特效 if not old_value or (old_value and value and old_value > value) then return end --同时只播放一个 if self.is_playing_money_effect then return end --没有显示出来的货币类型,不需要特效 local temp_comp = "icon_"..money_type if not self[temp_comp] or not self[temp_comp].activeSelf then return end --优先级排序 if not self.temp_money_type or self.temp_money_type > money_type then self.temp_money_type = money_type end local function on_delay( ) self:PlayMoneyEffect(self.temp_money_type) self.temp_money_type = false GlobalTimerQuest:CancelQuest(self.effect_start_timer) self.effect_start_timer = nil end if not self.effect_start_timer then self.effect_start_timer = GlobalTimerQuest:AddDelayQuest(on_delay, 0.2) end end --加载货币特效 function UIMoneyView:PlayMoneyEffect( money_type ) self.is_playing_money_effect = true local function on_load_finish( ) self:PlayMoneyAction(money_type) end if not self.loaded_money_effect_flag[money_type] then self.loaded_money_effect_flag[money_type] = true local effect_name = "getmoney"..money_type local uiTranform = self.effect_cont_list[money_type].transform local function load_call_back( objs, is_gameObject ) if self.transform then --没有删除根变换 if self._use_delete_method then return end if IsNull(uiTranform) then return end if not objs or not objs[0] then return end local go = is_gameObject and objs[0] or newObject(objs[0]) local transform = go.transform transform:SetParent(uiTranform) SetLocalPosition(transform, 0, 0, 0) local particle_renderer = go:GetComponentsInChildren(typeof(UnityEngine.Renderer)) if particle_renderer then for i=0,particle_renderer.Length-1 do particle_renderer[i].sortingOrder = 810 end end on_load_finish() end end lua_resM:loadPrefab(self, effect_name, effect_name, load_call_back, false, ASSETS_LEVEL.HIGHT) else on_load_finish() end end --货币特效轨迹 function UIMoneyView:PlayMoneyAction( money_type ) local temp_money_type = money_type for i=1,4 do self.effect_force_conts[i]:SetActive(i==money_type) end if self.effect_cont_list[temp_money_type] then self.effect_cont_list[temp_money_type]:SetActive(true) end local function on_end( ) if self.effect_cont_list[temp_money_type] then self.effect_cont_list[temp_money_type]:SetActive(false) end self.is_playing_money_effect = false GlobalTimerQuest:CancelQuest(self.effect_end_timer) self.effect_end_timer = nil end if not self.effect_end_timer then self.effect_end_timer = GlobalTimerQuest:AddDelayQuest(on_end, 1.3) end end function UIMoneyView:CancelEffectTimer( ) if self.effect_start_timer then GlobalTimerQuest:CancelQuest(self.effect_start_timer) self.effect_start_timer = nil end if self.effect_end_timer then GlobalTimerQuest:CancelQuest(self.effect_end_timer) self.effect_end_timer = nil end end function UIMoneyView:__delete( ) MainUIModel:getInstance():SetUIMoneyShowState(self.temp_uimoney_view_state) self:CancelEffectTimer() self:UnBindAllValueUpdate() end --添加名望券监听 function UIMoneyView:AddHonorEvent( ) if not self.change_honor_id then--如果之前已经清掉则设置的时候要再加载回来 local function onChangeHonorHandler(key, value, old_value) --名望券更新 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[4].type, value, old_value) self:SetHonorValue() end self.change_honor_id = self.mainVo:BindOne("honor",onChangeHonorHandler) end end --添加铜币监听 function UIMoneyView:AddTongEvent( ) if not self.change_tong_id then--如果之前已经清掉则设置的时候要再加载回来 local function onChangeTongHandler(key, value, old_value) --交易券 self:CheckMoneyEffectType(Config.ConfigNotNormalGoods[3].type, value, old_value) self:SetTongValue() end self.change_tong_id = self.mainVo:BindOne("tong",onChangeTongHandler) end end --设置嗨点兑换嗨点数 function UIMoneyView:SetHighExchangeValue( ) local base_type = CustomActivityModel.CustomActBaseType.HIGH_EXCHANGE local sub_type = self.goods_id or CustomActivityModel:getInstance():getActMinSubType(base_type) local server_info = KfActivityModel:getInstance():GetHighPointInfo(base_type,sub_type) local sum_points = 0 if server_info and server_info.sum_points then sum_points = server_info.sum_points end self.text_4.text = sum_points end --添加嗨点兑换嗨点值监听 function UIMoneyView:AddHighExchangeEvent( ) if not self.highExchange_id then--如果之前已经清掉则设置的时候要再加载回来 local function onHighExchangeHandler()--嗨点值 self:SetHighExchangeValue() end self.highExchange_id = KfActivityModel:getInstance():Bind(KfActivityModel.ANS_UPDATE_VIEW,onHighExchangeHandler) end end -- 圣物高级十连券 function UIMoneyView:SetPsionicSpecialDrawTenValue( ) self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2] -- 获取抽奖券数 local ten_ticket_num = self.goods_model:GetTypeGoodsNum(self.deep_cfg.ten) self.text_3.text = ten_ticket_num end -- 圣物高级单抽券 function UIMoneyView:SetPsionicSpecialDrawOneValue( ) self.deep_cfg = self.deep_cfg or Config.Nucleonpool[2] -- 获取抽奖券数 local single_ticket_num = self.goods_model:GetTypeGoodsNum(self.deep_cfg.one) self.text_4.text = single_ticket_num end -- 圣物道具更新事件绑定 function UIMoneyView:AddPsionicDrawItemEvent( ) if not self.ps_special_draw_id then local function update_ps_special_draw_one(tab_id) if tab_id and tab_id == PsionicConst.TabId.PDataDig then self:SetPsionicSpecialDrawTenValue() self:SetPsionicSpecialDrawOneValue() end end self.ps_special_draw_id = PsionicModel:getInstance():Bind(PsionicConst.UPDATE_RED_BY_TABID, update_ps_special_draw_one) end end --改变+号按钮资源 function UIMoneyView:ChangeAddBtnRes( res ) for i=1,4 do if not self.items[i].btn_img then self.items[i].btn_img = self:GetChild("add_btns/add_btn_"..i):GetComponent("Image") end lua_resM:setImageSprite(self, self.items[i].btn_img, "uiComponent_asset", res, true) end end