local UniqueConfirmView = autoImport("UniqueConfirmView") DontShowAgainConfirmView = class("DontShowAgainConfirmView",UniqueConfirmView) DontShowAgainConfirmView.ViewType = UIViewType.ConfirmLayer function DontShowAgainConfirmView:Init() self.viewdata.title = self.viewdata.data.Title self.viewdata.confirmtext = self.viewdata.data.button ~= "" and self.viewdata.data.button or nil self.viewdata.canceltext = self.viewdata.data.buttonF ~= "" and self.viewdata.data.buttonF or nil self.viewdata.needCloseBtn = self.viewdata.data.Close == 1 if(self.viewdata.data.TimeInterval == 0) then self.viewdata.checkLabel = ZhString.DontShowAgainCheckString elseif(self.viewdata.data.TimeInterval)then self.viewdata.checkLabel = string.format(ZhString.DontShowAgainCheckStringWithDays, self.viewdata.data.TimeInterval) end DontShowAgainConfirmView.super.Init(self) self:FillTitle() self:FillCheckLabel() self:JudgeNeedShowToggle() end function DontShowAgainConfirmView:FindObjs() self.isHandled = false self.titleLabel = self:FindGO("Title"):GetComponent(UILabel) self.contentLabel = self:FindGO("ContentLabel"):GetComponent(UILabel) self.confirmLabel = self:FindGO("ConfirmLabel"):GetComponent(UILabel) self.cancelLabel = self:FindGO("CancelLabel"):GetComponent(UILabel) self.checkBtn = self:FindGO("CheckBtn"):GetComponent(UIToggle) self.checkBg = self:FindGO("CheckBg"):GetComponent(UISprite) self.checkLabel = self:FindGO("CheckLabel"):GetComponent(UILabel) self.confirmBtn = self:FindGO("ConfirmBtn") self.cancelBtn = self:FindGO("CancelBtn") self:AddButtonEvent("ConfirmBtn",function(go) self:HandleDontShowAgain() self:DoConfirm() self:CloseSelf() end) self:AddButtonEvent("CancelBtn",function(go) self:HandleDontShowAgain() self:DoCancel() self:CloseSelf() end) end function DontShowAgainConfirmView:JudgeNeedShowToggle() self.bg = self:FindGO("Bg"):GetComponent(UISprite) local data = self.viewdata.data if(data.TimeInterval == nil or data.TimeInterval == -1) then self:Hide(self.checkBtn) self.contentLabel.transform.localPosition = Vector3.zero self.bg.bottomAnchor.absolute = -142 else self.contentLabel.transform.localPosition = Vector3(0,63,0) self:Show(self.checkBtn) self.bg.bottomAnchor.absolute = -222 end -- self.bg:SetAnchor(self.contentLabel.gameObject) end function DontShowAgainConfirmView:DoConfirm() -- print("確定") if(self.viewdata.confirmHandler~=nil) then self.viewdata.confirmHandler(self.viewdata.source) end end function DontShowAgainConfirmView:DoCancel() -- print("取消") if(self.viewdata.cancelHandler~=nil) then self.viewdata.cancelHandler(self.viewdata.source) end end function DontShowAgainConfirmView:FillCheckLabel(text) text = text or self.viewdata.checkLabel if(text~=nil) then self.checkLabel.text = text end local checkLabelX = self.checkLabel.transform.localPosition.x local p = Vector3(-(checkLabelX - self.checkBg.width/2 + self.checkLabel.width)/2,108,0) self.checkBtn.transform.localPosition = p end function DontShowAgainConfirmView:HandleDontShowAgain() local data = self.viewdata.data if(self.checkBtn and data.TimeInterval~=nil and data.TimeInterval~=-1) then if(self.checkBtn.value) then LocalSaveProxy.Instance:AddDontShowAgain(data.id,data.TimeInterval) end end end