86 lines
3.1 KiB
Lua
86 lines
3.1 KiB
Lua
local RewardPreview= quick_class("RewardPreview")
|
|
local lotterySetting=ConfigManager.GetConfig(ConfigName.LotterySetting)
|
|
local data={}
|
|
local listPre={}
|
|
local curtimes=0
|
|
function RewardPreview:ctor(gameObject)
|
|
self.gameObject = gameObject
|
|
self:InitComponent(gameObject)
|
|
self:BindEvent()
|
|
self:OnShow()
|
|
end
|
|
|
|
function RewardPreview:InitComponent(gameObject)
|
|
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,"tip1"):GetComponent("Text")
|
|
self.slider=Util.GetGameObject(self.gameObject,"Slider"):GetComponent("Slider")
|
|
end
|
|
|
|
function RewardPreview:BindEvent()
|
|
Util.AddClick(self.closeBtn.gameObject,function() self:OnHide() end)
|
|
end
|
|
|
|
function RewardPreview:OnShow()
|
|
self.gameObject:SetActive(true)
|
|
local maxtimesId=lotterySetting[RecruitType.TimeLimitSingle].MaxTimes;
|
|
curtimes=PrivilegeManager.GetPrivilegeUsedTimes(maxtimesId)
|
|
self: RefreshRewarid()
|
|
self.curtimes.text=Language[12181]..curtimes
|
|
end
|
|
|
|
function RewardPreview:RefreshRewarid()
|
|
local curActivityId=ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FindFairy)
|
|
data= ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",curActivityId)
|
|
local tmp=0
|
|
local count=0
|
|
for n,m in ipairs(data) do
|
|
if n~=1 then
|
|
count = count + m.Values[1][1]-tmp
|
|
end
|
|
tmp = m.Values[1][1]
|
|
self.slider.value = curtimes / m.Values[1][1]
|
|
end
|
|
tmp=0
|
|
local position = 0
|
|
local width = self.itemPre.transform:GetComponent("RectTransform").sizeDelta.x
|
|
local interval = self.itemGrid.transform:GetComponent("RectTransform").sizeDelta.x - (width * #data)
|
|
if(not listPre) then
|
|
listPre={}
|
|
end
|
|
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]}, 1.1, true)
|
|
o.gameObject:SetActive(true)
|
|
Util.GetGameObject(listPre[n].gameObject,"progress"):GetComponent("Text") .text=m.Values[1][1]
|
|
if n==1 then
|
|
listPre[n].transform:GetComponent("RectTransform").anchoredPosition3D = Vector3.zero
|
|
position = 0
|
|
else
|
|
local tempinterval = (m.Values[1][1] - tmp) / count * interval
|
|
position = tempinterval + width + position
|
|
listPre[n].transform:GetComponent("RectTransform").anchoredPosition3D=Vector3.New(position,0,0)
|
|
end
|
|
tmp=m.Values[1][1]
|
|
end
|
|
end
|
|
end
|
|
|
|
function RewardPreview:OnHide()
|
|
self.gameObject:SetActive(false)
|
|
data={}
|
|
end
|
|
|
|
function RewardPreview:OnDestroy()
|
|
listPre=nil
|
|
data=nil
|
|
end
|
|
|
|
|
|
return RewardPreview |