sk-client/Assets/ManagedResources/~Lua/Modules/Operating/LifeMember.lua

143 lines
5.8 KiB
Lua

local LifeMember = quick_class("LifeMember")
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local item = nil
function LifeMember:ctor(mainPanel, gameObject)
self.mainPanel = mainPanel
self.gameObject = gameObject
self:InitComponent(gameObject)
self:BindEvent()
end
-- 初始化组件
function LifeMember:InitComponent(gameObject)
self.timePos = Util.GetGameObject(gameObject, "itemPos")
self.btnBuy = Util.GetGameObject(gameObject, "btnBuy")
self.btnFree = Util.GetGameObject(gameObject, "btnFree")
self.reward = Util.GetGameObject(gameObject, "reward")
self.cumulativeGo = Util.GetGameObject(gameObject, "cumulative")
self.cumulative = Util.GetGameObject(gameObject, "cumulative/Text"):GetComponent("Text")
self.received = Util.GetGameObject(gameObject, "received")
local devalue = ConfigManager.GetConfigDataByKey(ConfigName.DeValueShow, "LuaName", "LifeMember")
Util.GetGameObject(self.gameObject, "DeValusTip"):SetActive(devalue and devalue.IsShow == 1)
end
function LifeMember:BindEvent()
Util.AddClick(self.btnBuy, function ()
if self.isCanBuy then
PayManager.Pay({ Id = self.rechargConfig.Id }, function()
FirstRechargeManager.RefreshAccumRechargeValue(self.rechargConfig.Id)
self:OnShow()
end)
else
NetManager.GetActivityRewardRequest(self.rewardConfig[1].Id, self.activityId, function(drop)
ThinkingAnalyticsManager.Track("activity_plan_lifevip", {
activity_plan_lifevip_id = self.rewardConfig[1].Id
})
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, function()
self:OnShow()
end)
end)
end
end)
Util.AddClick(self.btnFree, function ()
NetManager.GetActivityRewardRequest(self.rewardConfig[2].Id, self.activityId, function(drop)
ThinkingAnalyticsManager.Track("activity_plan_lifevip_gift", {
activity_plan_lifevip_gift_id = self.rewardConfig[2].Id
})
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, function()
self:OnShow()
end)
end)
end)
end
function LifeMember:AddEvent()
end
function LifeMember:RemoveEvent()
end
function LifeMember:OnShow(parentSorting, arg, pageIndex)
item = nil
CheckRedPointStatus(RedPointType.LifeMemeberEveryDay)
CheckRedPointStatus(RedPointType.LifeMemeberFree)
self.gameObject:SetActive(true)
local activityConfig = ConfigManager.GetConfigDataByKey(ConfigName.GlobalActivity, "Type", ActivityTypeDef.LifeMemebr)
local rechargeId = activityConfig.CanBuyRechargeId[1]
self.activityId = activityConfig.Id
--立得
self.rechargConfig = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig, rechargeId)
Util.GetGameObject(self.reward, "Image"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(itemConfig[self.rechargConfig.RewardShow[1][1]].ResourceID))
Util.GetGameObject(self.reward, "Text"):GetComponent("Text").text = self.rechargConfig.RewardShow[1][2]
--每日获得
self.rewardConfig = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig, "ActivityId", self.activityId)
for i = 1, #self.rewardConfig do
if self.rewardConfig[i].Values[2][1] == 1 then
Util.ClearChild(self.timePos.transform)
if not item then
item = SubUIManager.Open(SubUIConfig.ItemView, self.timePos.transform)
end
item:OnOpen(false, {self.rewardConfig[i].Reward[1][1], self.rewardConfig[i].Reward[1][2]}, 0.8)
item.gameObject:SetActive(true)
end
end
self:RefreshBtn()
self:RefreshGift()
self:RefreshFreeGift()
end
function LifeMember:RefreshBtn()
local boughtNum = OperatingManager.GetGoodsBuyTime(self.rechargConfig.Type, self.rechargConfig.Id) or 0
self.isCanBuy = self.rechargConfig.Limit - boughtNum > 0
self.reward:SetActive(self.isCanBuy)
self.btnBuy:GetComponent("Button").enabled = true
if self.isCanBuy then
Util.GetGameObject(self.btnBuy, "redpoint"):SetActive(false)
self.received:SetActive(false)
Util.SetGray(self.btnBuy, false)
Util.GetGameObject(self.btnBuy, "Text"):GetComponent("Text").text = GetLanguageStrById(50202)..MoneyUtil.GetMoney(self.rechargConfig.Price)
else
local state = ActivityGiftManager.LifeMemberRedPoint()
Util.GetGameObject(self.btnBuy, "redpoint"):SetActive(state)
Util.SetGray(self.btnBuy, not state)
self.received:SetActive(not state)
if state then
Util.GetGameObject(self.btnBuy, "Text"):GetComponent("Text").text = GetLanguageStrById(50318)
else
self.btnBuy:GetComponent("Button").enabled = false
Util.GetGameObject(self.btnBuy, "Text"):GetComponent("Text").text = GetLanguageStrById(10350)
end
end
end
function LifeMember:RefreshGift()
if self.isCanBuy then
self.cumulativeGo:SetActive(true)
local time = GetDataToDataBetweenDays(ActTimeCtrlManager.serTime, PlayerManager.userCreateTime)
self.cumulative.text = GetLanguageStrById(11476) ..":".. GetLanguageStrById(itemConfig[self.rewardConfig[1].Reward[1][1]].Name).."x".. time*self.rewardConfig[1].Reward[1][2]
else
self.cumulativeGo:SetActive(false)
end
end
function LifeMember:RefreshFreeGift()
local state = ActivityGiftManager.LifeMemberFreeRedPoint()
Util.SetGray(self.btnFree, not state)
Util.GetGameObject(self.btnFree, "received"):SetActive(not state)
Util.GetGameObject(self.btnFree, "redpoint"):SetActive(state)
self.btnFree:GetComponent("Button").enabled = state
end
function LifeMember:OnHide()
self.gameObject:SetActive(false)
end
function LifeMember:ClosePanel()
self.gameObject:SetActive(false)
end
return LifeMember