local GMFreeRecharge = {} self=GMFreeRecharge local artConfig=ConfigManager.GetConfig(ConfigName.ArtResourcesConfig) local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig) local rewardCom=ConfigManager.GetConfig(ConfigName.RechargeCommodityConfig) local sortingOrder = 0 local TabBox = require("Modules/Common/TabBox") local _TabData={ [1] = { default = "Btn_hz_cheng_01", select = "Btn_hz_cheng_01", name = "直充",img = "gm_mianfeizhichong_zh",id=7 }, [2] = { default = "Btn_hz_cheng_01", select = "Btn_hz_cheng_01", name = "仙充" ,img = "gm_mianfeizhichong_zh",id=8 }, } function GMFreeRecharge:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = GMFreeRecharge }) return b end local TabAdapter=nil local SwitchView=nil --初始化组件(用于子类重写) function GMFreeRecharge:InitComponent() self.spLoader = SpriteLoader.New() self.titleImg=Util.GetGameObject(self.gameObject,"growPack/Content/Name"):GetComponent("Image") self.coinNumTxt=Util.GetGameObject(self.gameObject,"growPack/Content/Num"):GetComponent("Text") self.tipTxt=Util.GetGameObject(self.gameObject,"growPack/Content/Tip"):GetComponent("Text") self.tabBox = Util.GetGameObject(self.gameObject, "TabBox") self.progressImg=Util.GetGameObject(self.gameObject,"growPack/Content/Progress/Image"):GetComponent("Image") self.progerssTxt=Util.GetGameObject(self.gameObject,"growPack/Content/Progress/Text"):GetComponent("Text") self.itemPre=Util.GetGameObject(self.gameObject,"scrollbg/scrollroot/item") self.grid=Util.GetGameObject(self.gameObject,"scrollbg/scrollroot") local rootHight = self.grid.transform.rect.height local width = self.grid.transform.rect.width self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.grid.transform,self.itemPre, nil, Vector2.New(width, rootHight), 1, 3, Vector2.New(60,40)) self.ScrollView.moveTween.MomentumAmount = 1 self.ScrollView.moveTween.Strength = 2 --self.ScrollView.elastic = false TabAdapter=function(tab, index, status) local tabLab = Util.GetGameObject(tab, "Text") Util.GetGameObject(tab,"Image"):GetComponent("Image").sprite = self.spLoader:LoadSprite(_TabData[index][status]) tabLab:GetComponent("Text").text = _TabData[index].name end --切换视图 SwitchView=function(_index) local list=ConfigManager.GetAllConfigsDataByKey(ConfigName.GMMaster,"Type",_TabData[_index].id) if list then self.ScrollView:SetData(list, function (index, go) self:SingleDataShow(go,list[index]) end,false) else end end self.TabCtrl = TabBox.New() self.TabCtrl:SetTabAdapter(TabAdapter) self.TabCtrl:SetChangeTabCallBack(SwitchView) self.TabCtrl:Init(self.tabBox, _TabData, 1) end function GMFreeRecharge:SingleDataShow(item,data) item.gameObject:SetActive(true) --local iconImg=Util.GetGameObject(item,"GameObject/icon"):GetComponent("Image") local getImg=Util.GetGameObject(item,"GameObject/itemIcon"):GetComponent("Image") local getTxt=Util.GetGameObject(item,"GameObject/itemNum"):GetComponent("Text") local extraObj=Util.GetGameObject(item,"GameObject/first") local extImg=Util.GetGameObject(item,"GameObject/first/Image"):GetComponent("Image") local extTxt=Util.GetGameObject(item,"GameObject/first/Text"):GetComponent("Text") local costObj=Util.GetGameObject(item,"GameObject/need") local costImg=Util.GetGameObject(item,"GameObject/need/Image"):GetComponent("Image") local costTxt=Util.GetGameObject(item,"GameObject/need/Text"):GetComponent("Text") local nameTxt=Util.GetGameObject(item,"GameObject/price/Text"):GetComponent("Text") local icon=Util.GetGameObject(item,"GameObject/icon"):GetComponent("Image") -- local btn=Util.GetGameObject(item,"GameObject/price") local btn=item nameTxt.text=data.Name local cost=data.Price if cost[2] then costObj:SetActive(true) costImg.sprite=self.spLoader:LoadSprite(artConfig[itemConfig[cost[2][1]].ResourceID].Name) costTxt.text=cost[2][2] else costObj:SetActive(false) end local rechargeConfig=ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig,data.PackID) if rechargeConfig and rechargeConfig.RewardShow then nameTxt.text=rechargeConfig.Name local reward=rechargeConfig.RewardShow getImg.sprite=self.spLoader:LoadSprite(artConfig[itemConfig[reward[1][1]].ResourceID].Name) getTxt.text=PrintWanNum(reward[1][2]) icon.sprite=self.spLoader:LoadSprite(artConfig[rechargeConfig.Id].Name) if reward[2] then extraObj:SetActive(true) extImg.sprite=self.spLoader:LoadSprite(artConfig[itemConfig[reward[2][1]].ResourceID].Name) extTxt.text=PrintWanNum(reward[2][2]) else extraObj:SetActive(false) end end Util.AddOnceClick(btn,function() PayManager.Pay(data.PackID,function() local num=BagManager.GetItemCountById(1367) self.coinNumTxt.text="¥"..num end) end) end --绑定事件(用于子类重写) function GMFreeRecharge:BindEvent() end --添加事件监听(用于子类重写) function GMFreeRecharge:AddListener() end --移除事件监听(用于子类重写) function GMFreeRecharge:RemoveListener() end --界面打开时调用(用于子类重写) function GMFreeRecharge:OnOpen(_activityConfig,_index,parent) self.actConfig = _activityConfig self.pageIndex = _index self.parent = parent end function GMFreeRecharge:OnSortingOrderChange() end -- 打开,重新打开时回调 function GMFreeRecharge:OnShow(_sortingOrder) self.gameObject:SetActive(true) sortingOrder = _sortingOrder local num=BagManager.GetItemCountById(1367) self.coinNumTxt.text="¥"..num local useTime=PrivilegeManager.GetPrivilegeUsedTimes(PRIVILEGE_TYPE.GM_YI_YUAN_UP_TIME) local maxNum=ActivityGiftManager.GetYiYuanUpMaxTime() self.progressImg.fillAmount=useTime/maxNum if maxNum== -1 then self.progerssTxt.text=useTime.."/".."∞" else self.progerssTxt.text=useTime.."/"..maxNum end end local gifts={} local activityData={} -- 妖晶数量显示 --界面关闭时调用(用于子类重写) function GMFreeRecharge:OnClose() self.gameObject:SetActive(false) end --界面销毁时调用(用于子类重写) function GMFreeRecharge:OnDestroy() self.spLoader:Destroy() SubUIManager.Close(self.ScrollView) end return GMFreeRecharge