ro-table/Asstes/Resources/Script/FrameWork/GUI/view/SpringActivityInviteView.txt
2025-06-04 05:02:57 +08:00

93 lines
2.7 KiB
Plaintext

SpringActivityInviteView = class("SpringActivityInviteView",ContainerView)
SpringActivityInviteView.ViewType = UIViewType.NormalLayer
local bgName = "letter_bg_cat"
function SpringActivityInviteView:OnExit()
PictureManager.Instance:UnLoadStar(bgName, self.bg)
SpringActivityInviteView.super.OnExit(self)
end
function SpringActivityInviteView:Init()
self:FindObj()
self:AddButtonEvt()
self:InitShow()
self:SetData()
end
function SpringActivityInviteView:FindObj()
self.bg = self:FindGO("Background"):GetComponent(UITexture)
self.content = self:FindGO("Content"):GetComponent(UIInput)
self.name = self:FindGO("Name"):GetComponent(UILabel)
self.inviteButton = self:FindGO("InviteButton"):GetComponent(UISprite)
self.inviteLabel = self:FindGO("Label" , self.inviteButton.gameObject):GetComponent(UILabel)
self.inviteLabel.text = ZhString.SpringActivitySendText
UIUtil.LimitInputCharacter(self.content, 50)
end
function SpringActivityInviteView:AddButtonEvt()
self:AddClickEvent(self.inviteButton.gameObject,function ()
self:ClickInvite()
end)
EventDelegate.Set(self.content.onChange,function ()
self.isNotEmpty = self.content.value ~= ""
self:SetInvite()
end)
end
function SpringActivityInviteView:InitShow()
self.itemGuid = self.viewdata.viewdata
local itemData = BagProxy.Instance:GetItemByGuid(self.itemGuid)
-- helplog("SpringActivityInviteViewxx:",self.itemGuid,tostring(itemData))
local config = GameConfig.Item_LoveLetter or {}
if(itemData and config[itemData.staticData.id])then
local lId = config[itemData.staticData.id]
local letter = Table_LoveLetter[lId]
if letter and letter.Letter then
self.content.value = letter.Letter
end
end
PictureManager.Instance:SetStar(bgName, self.bg)
self:SetInvite(false)
end
function SpringActivityInviteView:ClickInvite()
if self.canInvite then
if self.isNotSelf then
local item = StarProxy.Instance.itemData.id
ServiceUserEventProxy.Instance:CallLoveLetterUse(item, self.dataGuid, self.content.value,SceneItem_pb.ELETTERTYPE_SPRING)
self:CloseSelf()
else
MsgManager.ShowMsgByIDTable(3604)
end
end
end
function SpringActivityInviteView:SetData()
local target = StarProxy.Instance:GetCachedTarget()
if target and target.data then
local data = target.data
self.name.text = target.data.name
self.isNotSelf = data.id ~= Game.Myself.data.id
self:SetInvite()
self.dataGuid = data.id
-- self.dataZoneid = data.zoneid
end
end
function SpringActivityInviteView:SetInvite()
self.canInvite = self.isNotSelf and self.isNotEmpty
if self.canInvite then
self.inviteButton.color = ColorUtil.NGUIWhite
self.inviteLabel.effectColor = LuaColor(159/255,10/255,16/255,1)
else
self.inviteButton.color = ColorUtil.NGUIShaderGray
self.inviteLabel.effectColor = ColorUtil.NGUIGray
end
end