源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

186 rivejä
5.6 KiB

FuliSignItem = FuliSignItem or BaseClass(BaseItem)
local FuliSignItem = FuliSignItem
function FuliSignItem:__init()
self.base_file = "fuli"
self.layout_file = "FuliSignItem"
self.model = FuliModel:GetInstance()
self:Load()
end
function FuliSignItem:Load_callback()
self.nodes = {
"btn/btn_text:tmp",
"btn:obj:imgex",
"bg:img",
"item_con",
"double_image:obj",
"btn/btn_red:obj",
"click_con:obj",
"num_text:tmp",
}
self:GetChildren(self.nodes)
self.awardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.item_con)
self.awardItem:SetItemSize(84, 84)
self.awardItem:SetVisible(false)
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function FuliSignItem:AddEvents( )
local function on_click( target )
if self.can_sign then
local vip = RoleManager.Instance.mainRoleInfo.vip_flag or 0
local function ok()
OpenFun.Open(450,2)
end
local function cancel( ... )
self.model:Fire(FuliConst.REQ_FULI_SCMD, 16002)
end
if self.data.vip_lv > vip and self.is_sign then
-- Alert.show("是否提升到V3,翻倍领取奖励?",Alert.Type.Two,ok,cancel, "确定", "领取单倍")
self.model:Fire(FuliConst.OPEN_FULI_VIP_ASK_VIEW)
else
cancel()
end
else
Message.show("您还没达到这个签到天数哦~")
end
end
-- AddClickEvent(self.click_con_obj, on_click)
AddClickEvent(self.btn_obj, on_click)
local function on_vip_change( ... )
self:UpdateView()
end
self.vip_id = RoleManager:getInstance().mainRoleInfo:BindOne("vip_flag", on_vip_change)
end
function FuliSignItem:UpdateView( )
self.is_sign = false
self.can_sign = false
self.not_vip = false
self.num_text_tmp.text = string.format("第 %s 天", self.index)
local vip = RoleManager.Instance.mainRoleInfo.vip_flag or 0
self.awardItem:SetData(self.data.award_list[1][2], self.data.award_list[1][3],nil)
self.awardItem:SetVisible(true)
self.awardItem:SetGray(false)
self.double_image_obj:SetActive(self.data.vip_lv > 0)
-- if self.index >= 10 then
-- SetAnchoredPositionX(self.day_text, -8)
-- else
-- SetAnchoredPositionX(self.day_text, -25)
-- end
local bg_asset = ""
if self.index % 5 == 0 then
bg_asset = "fuli_item15"
self.num_text_tmp.text = HtmlColorTxt(string.format("第 %s 天", self.index), "#fdffc2")
else
bg_asset = "fuli_item16"
end
if TableSize(self.server_data) > 0 then
if self.server_data.sign_in_status == 0 then--没签到的话
if self.index < self.server_data.days + 1 then
self.awardItem:SetGray(true)
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
bg_asset = "fuli_item38"
self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
elseif self.index == self.server_data.days + 1 then
self.can_sign = true
self.btn_red_obj:SetActive(true)
self.btn_obj:SetActive(true)
self.btn_imgex.gray = false
self.btn_text_tmp.text = "领取"
else
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.btn_imgex.gray = true
end
elseif self.server_data.sign_in_status == 1 and self.data.vip_lv > 0 then--签到1次的话
self.is_sign = true
if self.index < self.server_data.days then
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
bg_asset = "fuli_item38"
elseif self.index == self.server_data.days then
self.can_sign = true
self.btn_red_obj:SetActive(self.data.vip_lv<=vip)
self.btn_text_tmp.text = "再次领取"
self.btn_obj:SetActive(true)
self.btn_imgex.gray = false
else
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.btn_imgex.gray = true
self.btn_text_tmp.text = "领取"
end
-- elseif self.server_data.sign_in_status == 2 then--签到的话 --没有签到两次了的说法了
else
self.is_sign = true
if self.index < self.server_data.days then
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
self.awardItem:SetGray(true)
bg_asset = "fuli_item38"
elseif self.index == self.server_data.days then
self.awardItem:SetGray(true)
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.btn_imgex.gray = false
self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
bg_asset = "fuli_item38"
else
self.btn_red_obj:SetActive(false)
self.btn_obj:SetActive(false)
self.btn_imgex.gray = true
self.btn_text_tmp.text = "领取"
end
end
end
lua_resM:setImageSprite(self, self.bg_img, "fuli_asset", bg_asset)
end
function FuliSignItem:SetData( index, data,server_data )
self.index = index
self.data = data
self.server_data = server_data
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function FuliSignItem:SetDepth( )
do return end--不需要这个设置方法了
if self.server_data.sign_in_status == 0 then--没签到的话
if self.index == self.server_data.days + 1 then
self.transform:SetAsLastSibling()
end
elseif self.server_data.sign_in_status == 1 then--签到的话
if self.index == self.server_data.days then
self.transform:SetAsLastSibling()
end
elseif self.server_data.sign_in_status == 2 then--签到的话
if self.index == self.server_data.days then
self.transform:SetAsLastSibling()
end
end
end
function FuliSignItem:__delete( )
if self.awardItem then
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.awardItem)
self.awardItem = nil
end
if self.vip_id then
RoleManager:getInstance().mainRoleInfo:UnBind(self.vip_id)
self.vip_id = nil
end
end