Files
JJBB/Assets/Project/Script/GUI/RedPacket/RedPacketRecvItem.cs
2024-08-23 15:49:34 +08:00

113 lines
3.3 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
using System;
using GCGame.Table;
public class RedPacketInfo
{
public ulong PlayerGuid;
public int PlayerPro;
public int PacketID;
public string PlayerName;
public string Message;
public bool CanGetPacket;
}
public class RedPacketRecvItem : UIItemSelect
{
public Text _PlayerName;
public Text _Message;
public GameObject _BtnGetPacket;
public GameObject _PacketOver;
public GameObject _PacketOutTime;
public GameObject _PacketGetted;
private RedPacketBriefInfo _PacketInfo;
public RedPacketBriefInfo PacketInfo
{
get
{
return _PacketInfo;
}
}
public override void Show(Hashtable hash)
{
base.Show();
_PacketInfo = (RedPacketBriefInfo)hash["InitObj"];
UpdatePacket(_PacketInfo);
}
public void UpdatePacket(RedPacketBriefInfo pcaketInfo)
{
_PlayerName.text = _PacketInfo.SenderName;
_Message.text = _PacketInfo.PacketInfo;
if(pcaketInfo.SelfPick == (int)RedPacketBriefInfo.ERedPacketSelfPick.EPick)
{
_BtnGetPacket.SetActive(false);
_PacketOver.SetActive(false);
_PacketOutTime.SetActive(false);
_PacketGetted.SetActive(true);
}
else
{
if (_PacketInfo.State == (int)RedPacketBriefInfo.ERedPacketState.EGoing)
{
_BtnGetPacket.SetActive(true);
_PacketOver.SetActive(false);
_PacketOutTime.SetActive(false);
_PacketGetted.SetActive(false);
}
else if (_PacketInfo.State == (int)RedPacketBriefInfo.ERedPacketState.EFinish)
{
_BtnGetPacket.SetActive(false);
_PacketOver.SetActive(true);
_PacketOutTime.SetActive(false);
_PacketGetted.SetActive(false);
}
else if (_PacketInfo.State == (int)RedPacketBriefInfo.ERedPacketState.EOutofTM)
{
_BtnGetPacket.SetActive(false);
_PacketOver.SetActive(false);
_PacketOutTime.SetActive(true);
_PacketGetted.SetActive(false);
}
}
}
public void OnNameClick()
{
PlayerTooltipsLogic.ShowPlayerTooltip(_PacketInfo.SenderGuid, _PacketInfo.SenderName, Vector3.zero);
}
public void OnGetPacket()
{
RedPacket.Instance.PickRedPacket(_PacketInfo.Id, (int)RedPacketRecvRoot.Instance()._ShowingType);
}
public void OnDetail()
{
//GC_RET_RED_PACKET_DETAIL_INFO packet = new GC_RET_RED_PACKET_DETAIL_INFO();
//packet.SenderName = "testTT";
//packet.PacketInfo = "For The Lich King";
//packet.SelfPickNum = 100;
//packet.PacketNum = 20;
//packet.MoneyNum = 560000;
//for (int i = 0; i < 10; ++i)
//{
// var pickInfo = new PickRedPackInfo();
// packet.AddPickUserInfo(pickInfo);
// pickInfo.Names = "pick" + i;
// pickInfo.Num = 1000 * i;
//}
//RedPacketDetailRoot.ShowRedPacketDetail(packet);
RedPacket.Instance.PickRedPacket(_PacketInfo.Id, (int)RedPacketRecvRoot.Instance()._ShowingType);
}
}