|
|
- 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
|