179 lines
5.7 KiB
Plaintext
179 lines
5.7 KiB
Plaintext
RedeemCodeView = class("RedeemCodeView",ContainerView)
|
|
RedeemCodeView.ViewType = UIViewType.NormalLayer
|
|
-- RedeemCodeView.URL="https://127.0.0.1/roActivity/line/f55554f90e42e15c0dd0b7831987d050.jpg";
|
|
|
|
local TextureRes=
|
|
{
|
|
TitleBg="show_icon_txt",
|
|
InfoBg="shop_bg_card",
|
|
DescBg="shop_bg_bottom",
|
|
}
|
|
local DescTextureSize =
|
|
{
|
|
width=1056,
|
|
height=590,
|
|
}
|
|
function RedeemCodeView:Init()
|
|
local viewdata = self.viewdata and self.viewdata.viewdata;
|
|
self.id = viewdata and viewdata.id or 453
|
|
self:FindObjs()
|
|
self:Listen()
|
|
self:ListenEvt()
|
|
self:InitData()
|
|
end
|
|
|
|
function RedeemCodeView:FindObjs()
|
|
self.redeemPos = self:FindGO("redeemPos")
|
|
self.descPos = self:FindGO("descPos")
|
|
self.infoPos = self:FindGO("info")
|
|
self.tips = self:FindComponent("tipsLab",UILabel);
|
|
self.title = self:FindComponent("titleLab",UILabel);
|
|
self.icon = self:FindComponent("iconImg",UISprite);
|
|
self.redeemBtn = self:FindComponent("redeemBtn",UISprite);
|
|
self.copyBtn = self:FindComponent("copyBtn",UISprite);
|
|
self.descTexture = self:FindComponent("descTexture",UITexture)
|
|
self.Loading = self:FindGO("Loading")
|
|
self.inputLab = self:FindComponent("inputLab", UIInput);
|
|
self.usedBoxColider = self:FindComponent("inputLab",BoxCollider)
|
|
self.beUsedImg = self:FindComponent("beUsedImg",UISprite);
|
|
self.returnBtn = self:FindComponent("returnBtn",UISprite);
|
|
self.TextureBgLeftTex = self:FindComponent("TextureBgLeft",UITexture)
|
|
self.TextureBgRightTex = self:FindComponent("TextureBgRight",UITexture)
|
|
self.titleBgTex = self:FindComponent("titleBg",UITexture)
|
|
local iconName = Table_Item[self.id] and Table_Item[self.id].Icon
|
|
IconManager:SetItemIcon(iconName, self.icon);
|
|
end
|
|
|
|
function RedeemCodeView:ListenEvt()
|
|
-- self:AddListenEvt(ActivityTextureManager.ActivityPicCompleteCallbackMsg ,self.picCompleteCallback);
|
|
self:AddListenEvt(ServiceEvent.ItemUseCodItemCmd, self.HandleUseCodItem)
|
|
self:AddListenEvt(ItemEvent.ItemUpdate, self.UpdataView);
|
|
end
|
|
|
|
|
|
function RedeemCodeView:HandleUseCodItem(note)
|
|
self.sCode = note.body.code
|
|
self:InitData()
|
|
end
|
|
|
|
function RedeemCodeView:Listen()
|
|
self:AddClickEvent(self.redeemBtn.gameObject, function (go)
|
|
-- self:AddPicInfos()
|
|
self:OpenDescPanel()
|
|
end)
|
|
|
|
self:AddClickEvent(self.returnBtn.gameObject,function (go)
|
|
-- Object.DestroyImmediate(self.descTexture.mainTexture)
|
|
self:OpenRedeemPos(true);
|
|
end)
|
|
EventDelegate.Set(self.inputLab.onChange,function ()
|
|
self:_ResetInputValue()
|
|
end)
|
|
end
|
|
|
|
function RedeemCodeView:_ResetInputValue()
|
|
self.inputLab.value=self.sCode or ""
|
|
end
|
|
|
|
local tempV3 = LuaVector3();
|
|
function RedeemCodeView:InitData()
|
|
self.title.text=ZhString.RedeemCodeView_Desc
|
|
self.tips.text=ZhString.RedeemCodeView_Tip
|
|
self:_loadFixedTexture();
|
|
self:Show(self.infoPos)
|
|
self:Hide(self.Loading);
|
|
self:OpenRedeemPos(true);
|
|
self:UpdataView()
|
|
if not BackwardCompatibilityUtil.CompatibilityMode_V17 then
|
|
self:Show(self.copyBtn.gameObject);
|
|
tempV3:Set(120,-130,0);
|
|
else
|
|
self:Hide(self.copyBtn.gameObject);
|
|
tempV3:Set(0,-130,0);
|
|
end
|
|
self.redeemBtn.gameObject.transform.localPosition = tempV3;
|
|
end
|
|
|
|
function RedeemCodeView:UpdataView()
|
|
self.itemCode=BagProxy.Instance:GetItemByStaticID(self.id)
|
|
local used = self.itemCode:IsCodeCanSell()
|
|
self.beUsedImg.gameObject:SetActive(used)
|
|
self.usedBoxColider.enabled=not used
|
|
if(self.itemCode.CodeData and self.itemCode.CodeData.code and ""~=self.itemCode.CodeData.code)then
|
|
local code = self.itemCode.CodeData.code
|
|
self.sCode=code
|
|
self.inputLab.value=code
|
|
self:AddClickEvent(self.copyBtn.gameObject, function (go)
|
|
local result = ApplicationInfo.CopyToSystemClipboard(code)
|
|
if(result)then
|
|
MsgManager.ShowMsgByID(3635)
|
|
end
|
|
end)
|
|
else
|
|
ServiceItemProxy.Instance:CallUseCodItemCmd(self.itemCode.id)
|
|
end
|
|
end
|
|
|
|
function RedeemCodeView:_loadFixedTexture()
|
|
PictureManager.Instance:SetUI(TextureRes.TitleBg, self.titleBgTex)
|
|
PictureManager.Instance:SetUI(TextureRes.InfoBg, self.TextureBgLeftTex)
|
|
PictureManager.Instance:SetUI(TextureRes.InfoBg, self.TextureBgRightTex)
|
|
end
|
|
|
|
-- function RedeemCodeView:picCompleteCallback( note )
|
|
-- local data = note.body
|
|
-- self:completeCallbackBytes(data.byte)
|
|
-- end
|
|
|
|
function RedeemCodeView:OpenRedeemPos(flag)
|
|
self.redeemPos:SetActive(flag)
|
|
self.descPos:SetActive(not flag)
|
|
end
|
|
|
|
-- function RedeemCodeView:completeCallbackBytes(bytes )
|
|
-- local texture = Texture2D(0,0,TextureFormat.RGB24,false)
|
|
-- local bRet = texture:LoadImage(bytes)
|
|
-- if( bRet)then
|
|
-- self:_setTexture(texture)
|
|
-- else
|
|
-- ActivityTextureManager.Instance():log("RedeemCodeView:completeCallbackBytes LoadImage failure")
|
|
-- Object.DestroyImmediate(texture)
|
|
-- end
|
|
-- end
|
|
|
|
-- function RedeemCodeView:_setTexture( texture )
|
|
-- self:Hide(self.Loading)
|
|
-- Object.DestroyImmediate(self.descTexture.mainTexture)
|
|
-- self.descTexture.mainTexture = texture
|
|
-- self.descTexture.width = DescTextureSize.width
|
|
-- self.descTexture.height = DescTextureSize.height
|
|
-- end
|
|
|
|
-- function RedeemCodeView:AddPicInfos()
|
|
-- self:OpenRedeemPos(false);
|
|
-- self:Show(self.Loading)
|
|
-- local texture = self.descTexture.mainTexture
|
|
-- self.descTexture.mainTexture = nil
|
|
-- Object.DestroyImmediate(texture)
|
|
-- ActivityTextureManager.Instance():AddActivityPicInfos({RedeemCodeView.URL})
|
|
-- end
|
|
|
|
function RedeemCodeView:OpenDescPanel()
|
|
self:OpenRedeemPos(false);
|
|
-- self:Show(self.Loading)
|
|
PictureManager.Instance:SetUI(TextureRes.DescBg, self.descTexture)
|
|
end
|
|
|
|
|
|
function RedeemCodeView:OnEnter()
|
|
RedeemCodeView.super.OnEnter(self);
|
|
end
|
|
|
|
function RedeemCodeView:OnExit()
|
|
PictureManager.Instance:UnLoadUI(TextureRes.TitleBg, self.titleBgTex)
|
|
PictureManager.Instance:UnLoadUI(TextureRes.InfoBg, self.TextureBgLeftTex)
|
|
PictureManager.Instance:UnLoadUI(TextureRes.InfoBg, self.TextureBgRightTex)
|
|
PictureManager.Instance:UnLoadUI(TextureRes.DescBg, self.descTexture)
|
|
RedeemCodeView.super.OnExit(self);
|
|
end
|