miduo_client/Assets/ManagedResources/~Lua/Modules/Guild/RedPacketView/RedPacket_SendWealView.lua

153 lines
5.2 KiB
Lua

----- 公会红包-发红包 -----
local this = {}
local sortingOrder=0
local packageConfig=nil
function this:InitComponent(gameObject)
this.spLoader = SpriteLoader.New()
this.itemPre=Util.GetGameObject(gameObject,"Item")
this.scrollRoot=Util.GetGameObject(gameObject,"scrollRect")
this.scrollView=SubUIManager.Open(SubUIConfig.ScrollCycleView,this.scrollRoot.transform,this.itemPre, nil,
Vector2.New(this.scrollRoot.transform.rect.width,this.scrollRoot.transform.rect.height),1,2,Vector2.New(80,100))
this.scrollView.moveTween.MomentumAmount = 1
this.scrollView.moveTween.Strength = 2
this.scrollView.gameObject:GetComponent("RectTransform").anchoredPosition= Vector2.New(0,0)
this.scrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5)
this.scrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5)
this.scrollView.gameObject:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5)
this.infoTitle=Util.GetGameObject(gameObject,"infoPanel/Content/Title/Text"):GetComponent("Text")
this.infoTitle.text="福利红包"
Util.GetGameObject(gameObject,"infoPanel/Content/Text1"):GetComponent("Text").text="红包个数:"
Util.GetGameObject(gameObject,"infoPanel/Content/Text2"):GetComponent("Text").text="红包金额:"
this.numTxt=Util.GetGameObject(gameObject,"infoPanel/Content/numTxt"):GetComponent("Text")
this.sumTxt=Util.GetGameObject(gameObject,"infoPanel/Content/num2Txt"):GetComponent("Text")
this.rewardImg=Util.GetGameObject(gameObject,"infoPanel/Content/Image"):GetComponent("Image")
this.infoObj=Util.GetGameObject(gameObject,"infoPanel")
Util.AddClick(this.infoObj,function()
this.infoObj.gameObject:SetActive(false)
end)
end
function this:OnShow(_sortingOrder)
sortingOrder=_sortingOrder
this:InitView()
end
function this:BindEvent()
end
function this:AddListener()
end
function this:RemoveListener()
end
function this:OnClose()
end
function this:OnDestroy()
this.spLoader:Destroy()
end
---初始化面板
function this:InitView()
packageConfig=ConfigManager.GetConfig(ConfigName.GuildRedPackConfig)
if not packageConfig then
return
end
local packages=MyGuildManager.GetMyGuidRedPackage()
local showList={}
for key, value in pairs(packages) do
local config=packageConfig[key]
--福利红包并且在限定等级
if config and config.BaseType == 2 and PlayerManager.level>=config.Level then
-- if packages[i] then
value.config=config
table.insert(showList,value)
--end
end
end
if LengthOfTable(showList)==0 then
return
end
table.sort(showList,function(a,b)
if a.num==b.num then
return a.config.Sort<b.config.Sort
else
return a.num>b.num -- body
end
end)
--设置滚动区信息
this.scrollView:SetData(showList,function(index,root)
this:ShowItemInfo(root,showList[index])
end)
CheckRedPointStatus(RedPointType.Guid_SendPackage)
end
--显示红包数据
function this:ShowItemInfo(go,data)
if not data then
return
end
local nameImage=Util.GetGameObject(go,"NameImage"):GetComponent("Image")
local icon=Util.GetGameObject(go,"Icon"):GetComponent("Image")
local desTxt=Util.GetGameObject(go,"Desc"):GetComponent("Text")
local numTxt=Util.GetGameObject(go,"numTxt"):GetComponent("Text")
local btn_send=Util.GetGameObject(go,"btn_send")
local sendTxt=Util.GetGameObject(go,"btn_send/Text"):GetComponent("Text")
nameImage.sprite=this.spLoader:LoadSprite("g_ghhb_ming_04_zh")
icon.sprite=this.spLoader:LoadSprite(GetResourcePath(data.config.IconId))
desTxt.text= data.config.RuleDes
local num=data.num
numTxt.text="数量:"..data.num
btn_send:GetComponent("Button").interactable=num>0
Util.SetGray(btn_send,num<1)
--发红包按钮
Util.AddOnceClick(btn_send,function()
NetManager.RequestWelfareRedPacket(data.config.Id,function()
PopupTipPanel.ShowTip("成功发送福利红包!")
this:InitView()
--刷新发送福利红包按钮红点
--CheckRedPointStatus(RedPointType.Guid_GetPackage)
MyGuildManager.ReuqsetRedPackage()
--发送公会信息
local redpack=ConfigManager.GetConfigData(ConfigName.GuildRedPackConfig,data.config.Id)
if not PlayerManager.familyId then return end
-- 构建字符串
local channel = CHAT_CHANNEL.FAMILY
local content = string.format(
"%d#%s#%s",--"%d#%d#%d#%s#%d#%d|",
GLOBAL_CHAT_TYPE.GUILD_REDPACKET,
PlayerManager.nickName,
redpack.Name
)
-- 发送消息
NetManager.RequestSendChatMsg(channel, content, 0, function()
local msgId = ChatManager.GetMsgIdFlag(channel)
NetManager.RequestChatMsg(channel, msgId, function(data)
end)
end)
end)
end)
--显示红包信息
Util.AddOnceClick(go,function()
this.infoObj.gameObject:SetActive(true)
this.numTxt.text=data.config.Num
this.sumTxt.text=data.config.TotalMoney[2]
this.rewardImg.sprite=this.spLoader:LoadSprite(GetResourcePath(data.config.IconId))
end)
end
return this