96 lines
3.2 KiB
Lua
96 lines
3.2 KiB
Lua
local RewardPreview = quick_class("RewardPreview")
|
|
local lotterySetting = ConfigManager.GetConfig(ConfigName.LotterySetting)
|
|
local data = {}
|
|
local listPre = {}
|
|
local curtimes = 0
|
|
|
|
function RewardPreview:ctor(gameObject, sortingOrder)
|
|
self.gameObject = gameObject
|
|
self:InitComponent()
|
|
self:BindEvent()
|
|
self:OnShow()
|
|
|
|
gameObject:GetComponent("Canvas").sortingOrder = sortingOrder + 1
|
|
end
|
|
|
|
function RewardPreview:InitComponent()
|
|
self.closeBtn = Util.GetGameObject(self.gameObject, "close")
|
|
self.itemGrid = Util.GetGameObject(self.gameObject, "itemGrid")
|
|
self.itemPre = Util.GetGameObject(self.gameObject, "itemprefab")
|
|
self.curtimes = Util.GetGameObject(self.gameObject, "tip2/Text"):GetComponent("Text")
|
|
self.slider = Util.GetGameObject(self.gameObject, "Slider"):GetComponent("Slider")
|
|
self.pos = Util.GetGameObject(self.gameObject, "Slider/Fill Area/Fill/pos")
|
|
end
|
|
|
|
function RewardPreview:BindEvent()
|
|
Util.AddClick(
|
|
self.closeBtn.gameObject,
|
|
function()
|
|
self:OnHide()
|
|
end
|
|
)
|
|
end
|
|
|
|
local d1,d2
|
|
function RewardPreview:OnShow()
|
|
self.gameObject:SetActive(true)
|
|
-- local maxtimesId = lotterySetting[RecruitType.TimeLimitSingle].MaxTimes
|
|
curtimes = OperatingManager.TimeLimitedTimes
|
|
self:RefreshRewarid()
|
|
self.curtimes.text = curtimes
|
|
|
|
if curtimes <= d1 then
|
|
self.slider.value = curtimes
|
|
elseif curtimes > d1 and curtimes < d2 then
|
|
self.slider.value = curtimes + d1
|
|
else
|
|
self.slider.value = curtimes + d1
|
|
end
|
|
end
|
|
|
|
function RewardPreview:RefreshRewarid()
|
|
local curActivityId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FindFairy)
|
|
data = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig, "ActivityId", curActivityId)
|
|
if not listPre then
|
|
listPre = {}
|
|
end
|
|
|
|
self.slider.maxValue = data[#data].Values[1][1]
|
|
d1 = data[1].Values[1][1]
|
|
d2 = data[3].Values[1][1]
|
|
|
|
for n, m in ipairs(data) do
|
|
if m then
|
|
if not listPre[n] then
|
|
listPre[n] = newObjToParent(self.itemPre, self.itemGrid)
|
|
listPre[n].gameObject:SetActive(true)
|
|
end
|
|
local o = SubUIManager.Open(SubUIConfig.ItemView, listPre[n].transform)
|
|
o:OnOpen(false, {m.Reward[1][1], m.Reward[1][2]}, 0.65, true)
|
|
o.gameObject:SetActive(true)
|
|
Util.GetGameObject(listPre[n].gameObject, "progress"):GetComponent("Text").text = m.Values[1][1]
|
|
if m.Values[1][1] <= d1 then
|
|
self.slider.value = m.Values[1][1]
|
|
elseif curtimes > d1 and curtimes < d2 then
|
|
self.slider.value = m.Values[1][1] + d1
|
|
else
|
|
self.slider.value = m.Values[1][1] + d1
|
|
end
|
|
listPre[n].transform.position = self.pos.transform.position
|
|
local posx = listPre[n].transform.localPosition.x - 79
|
|
listPre[n].transform:GetComponent("RectTransform").anchoredPosition3D = Vector3.New(posx, 0, 0)
|
|
end
|
|
end
|
|
end
|
|
|
|
function RewardPreview:OnHide()
|
|
self.gameObject:SetActive(false)
|
|
data = {}
|
|
end
|
|
|
|
function RewardPreview:OnDestroy()
|
|
listPre = nil
|
|
data = nil
|
|
end
|
|
|
|
return RewardPreview |