2025-06-04 05:02:57 +08:00

219 lines
6.7 KiB
Plaintext

MarriageManualPicDiy = class("MarriageManualPicDiy", ContainerView)
autoImport("PicutureWallSyncPanel")
MarriageManualPicDiy.ViewType = UIViewType.PopUpLayer
MarriageManualPicDiy.BgTextureName = "marry_bg_bottom1";
function MarriageManualPicDiy:Init()
self:AddViewEvts()
self:initView()
self:initData()
end
function MarriageManualPicDiy:AddViewEvts()
self:AddListenEvt(WeddingWallPicManager.WeddingPicDownloadCompleteCallback,self.photoCompleteCallback);
self:AddListenEvt(WeddingWallPicManager.WeddingPicDownloadProgressCallback,self.photoProgressCallback);
self:AddListenEvt(WeddingWallPicManager.WeddingPicDownloadErrorCallback,self.photoErrorCallback);
self:AddListenEvt(ServiceEvent.WeddingCCmdUpdateWeddingManualCCmd,self.UpdateCurPhoto);
end
function MarriageManualPicDiy:PhotoCmdFrameActionPhotoCmd( note )
end
function MarriageManualPicDiy:UpdateCurPhoto( note )
-- local serverData = Game.PictureWallManager:getServerDataByFrameId(self.frameId)
-- if(serverData)then
-- if(self.serverData and Game.PictureWallManager:checkSamePicture(self.serverData.photoData,serverData.photoData))then
-- return
-- end
-- self.serverData = serverData
-- local photoData = self.serverData.photoData
-- self.anglez = photoData.anglez
if(self.curPhotoIndex ~= self.weddingProxy.manualPhotoIndex)then
self:getPhoto()
self.curPhotoIndex = self.weddingProxy.manualPhotoIndex
end
-- else
-- local texture = self.photo.mainTexture
-- self.photo.mainTexture = nil
-- Object.DestroyImmediate(texture)
-- end
self:updateBtnState()
end
function MarriageManualPicDiy:updateBtnState()
if(not self.weddingProxy.manualPhotoIndex or self.weddingProxy.manualPhotoIndex ==0 )then
self.uploadBtn.text = ZhString.WeddingPictureDiyUploadTitle
self:Show(self.defPhoto)
PictureManager.Instance:SetWedding(MarriageManualPicDiy.BgTextureName, self.defPhotoTx);
else
self:Hide(self.defPhoto)
PictureManager.Instance:UnLoadWedding(MarriageManualPicDiy.BgTextureName,self.defPhotoTx);
self.uploadBtn.text = ZhString.WeddingPictureDiyReplace
end
end
function MarriageManualPicDiy:changePhotoSize()
local frameData = Table_ScenePhotoFrame[self.frameId]
local dir = 0
if(frameData)then
dir = frameData.Dir
end
if(dir == 1)then
self.photo.width = 400
self.photo.height = 600
end
end
function MarriageManualPicDiy:photoCompleteCallback( note )
-- body
local data = note.body
local index = data.index
-- Game.PictureWallManager:log("MarriageManualPicDiy:photoCompleteCallback1",photoData.sourceid,photoData.source,photoData.charid)
if(index == self.weddingProxy.manualPhotoIndex)then
self:completeCallback(data.byte)
end
end
function MarriageManualPicDiy:photoProgressCallback( note )
-- body
local data = note.body
local id = data.id
local index = data.index
-- Game.PictureWallManager:log("MarriageManualPicDiy:photoCompleteCallback1",photoData.sourceid,photoData.source,photoData.charid)
if(index == self.weddingProxy.manualPhotoIndex)then
self:progressCallback(data.progress)
end
end
function MarriageManualPicDiy:photoErrorCallback( note )
-- body
helplog("photoErrorCallback")
end
function MarriageManualPicDiy:initData( )
-- body
self.weddingProxy = WeddingProxy.Instance
self.curPhotoIndex = self.weddingProxy.manualPhotoIndex
self:initDefaultTextureSize()
-- self:initScreenShotData()
-- self:changePhotoSize()
-- end
self:updateBtnState()
LeanTween.cancel(self.gameObject)
LeanTween.delayedCall(self.gameObject,0.1,function ( )
self:getPhoto()
end)
end
function MarriageManualPicDiy:initView( )
-- body
self.photo = self:FindComponent("photo",UITexture)
self.progress = self:FindComponent("loadProgress",UILabel)
self:Hide(self.progress.gameObject)
local marriageDes = self:FindComponent("marriageDes",UILabel)
marriageDes.text = ZhString.WeddingPictureDiyDes
local title = self:FindComponent("title",UILabel)
title.text = ZhString.WeddingPictureDiyUploadTitle
self.uploadBtn = self:FindComponent("btnLabel",UILabel)
self.defPhoto = self:FindGO("defPhoto")
self.defPhotoTx = self:FindComponent("defPhoto",UITexture)
self:AddButtonEvent("actionBtn",function ( )
PicutureWallSyncPanel.ViewType = UIViewType.Lv4PopUpLayer
self:sendNotification(UIEvent.JumpPanel, {view = PanelConfig.PicutureWallSyncPanel,viewdata = {frameId = 0,from = PicutureWallSyncPanel.PictureSyncFrom.WeddingCertificateDiy}})
end)
end
function MarriageManualPicDiy:initDefaultTextureSize( )
-- body
self.originWith = self.photo.width
self.originHeight = self.photo.height
end
function MarriageManualPicDiy:setTexture( texture )
-- body
-- local anglez = 0
-- if(self.anglez >=45 and self.anglez <= 135)then
-- anglez = 90
-- elseif(self.anglez >= 225 and self.anglez <= 315)then
-- anglez = 270
-- elseif(self.anglez >=135 and self.anglez <=225)then
-- anglez = 180
-- end
-- tempVector3:Set(0, 0, anglez)
-- tempRot.eulerAngles = tempVector3
-- self.PhotoCt.transform.localRotation = tempRot
local orginRatio = self.originWith / self.originHeight
local textureRatio = 0
-- if(anglez == 90 or anglez == 270)then
-- textureRatio = texture.height / texture.width
-- else
textureRatio = texture.width / texture.height
-- end
local wRatio = math.min(orginRatio,textureRatio) == orginRatio
local height = self.originHeight
local width = self.originWith
if(wRatio)then
height = self.originWith/textureRatio
else
width = self.originHeight*textureRatio
end
-- if(anglez == 90 or anglez == 270)then
-- self.photo.width = height
-- self.photo.height = width
-- else
self.photo.width = width
self.photo.height = height
-- end
Object.DestroyImmediate(self.photo.mainTexture)
self.photo.mainTexture = texture
end
function MarriageManualPicDiy:getPhoto( )
-- body
if(self.weddingProxy.manualPhotoIndex and self.weddingProxy.manualPhotoIndex ~= 0)then
Game.WeddingWallPicManager:GetWeddingPicture(self.weddingProxy.manualPhotoIndex,self.weddingProxy.manualPhotoTime)
end
end
function MarriageManualPicDiy:progressCallback( progress )
-- body
self:Show(self.progress.gameObject)
progress = progress >=1 and 1 or progress
local value = progress*100
value = math.floor(value)
self.progress.text = value.."%"
end
function MarriageManualPicDiy:completeCallback(bytes )
-- body
self:Hide(self.progress.gameObject)
if(bytes)then
local texture = Texture2D(0,0,TextureFormat.RGB24,false)
local bRet = ImageConversion.LoadImage(texture, bytes)
if( bRet)then
self:setTexture(texture)
else
Object.DestroyImmediate(texture)
end
end
end
function MarriageManualPicDiy:OnExit()
-- body
PictureManager.Instance:UnLoadWedding(MarriageManualPicDiy.BgTextureName,self.defPhotoTx);
LeanTween.cancel(self.gameObject)
Object.DestroyImmediate(self.photo.mainTexture)
end