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
|