209 lines
7.1 KiB
C#
209 lines
7.1 KiB
C#
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Games.GlobeDefine;
|
|
using GCGame.Table;
|
|
using GCGame;
|
|
|
|
public class RedPacketSendRankRoot : UIControllerBase<RedPacketSendRankRoot>
|
|
{
|
|
void OnEnable()
|
|
{
|
|
SetInstance(this);
|
|
ReqRankData();
|
|
}
|
|
|
|
void OnDisable()
|
|
{
|
|
SetInstance(null);
|
|
}
|
|
|
|
public void CloseWindow()
|
|
{
|
|
UIManager.CloseUI(UIInfo.RedPacketSendRankRoot);
|
|
}
|
|
|
|
#region
|
|
|
|
public RedPacketSendRankItem[] _Top3RedPacketSendItem;
|
|
public UIContainerBase _RankContainer;
|
|
public RedPacketSendRankItem _MyRankInfo;
|
|
|
|
public void ReqRankData()
|
|
{
|
|
CG_REQ_RED_PACKET_RANK packet = (CG_REQ_RED_PACKET_RANK)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_RED_PACKET_RANK);
|
|
packet.ByteFlag = 1;
|
|
packet.SendPacket();
|
|
}
|
|
|
|
public void ShowRedPacketSendRank(GC_RET_RED_PACKET_RANK packet)
|
|
{
|
|
List<RedPacketSendRankInfo> rankInfos = new List<RedPacketSendRankInfo>();
|
|
List<RedPacketSendRankInfo> topRankInfo = new List<RedPacketSendRankInfo>();
|
|
RedPacketSendRankInfo myRankInfo = new RedPacketSendRankInfo();
|
|
|
|
var rankTabs = TableManager.GetRedPacketRank().Values;
|
|
foreach (var rankTab in rankTabs)
|
|
{
|
|
if (rankTab.RankMin <= 10)
|
|
{
|
|
for (int i = rankTab.RankMin; i <= rankTab.RankMax; ++i)
|
|
{
|
|
RedPacketSendRankInfo rankInfo = new RedPacketSendRankInfo();
|
|
rankInfo.Rank = i;
|
|
rankInfo.NeedValue = rankTab.RankMinMoney;
|
|
rankInfo.AwardTitleID = rankTab.TitleId;
|
|
if (rankTab.RankMax <= 3)
|
|
{
|
|
topRankInfo.Add(rankInfo);
|
|
}
|
|
else
|
|
{
|
|
rankInfos.Add(rankInfo);
|
|
}
|
|
}
|
|
}
|
|
else if (rankTab.RankMin == 11)
|
|
{
|
|
RedPacketSendRankInfo rankInfo = new RedPacketSendRankInfo();
|
|
rankInfo.Rank = 11;
|
|
rankInfo.NeedValue = rankTab.RankMinMoney;
|
|
rankInfo.AwardTitleID = rankTab.TitleId;
|
|
rankInfo.IsLastMsg = true;
|
|
rankInfos.Add(rankInfo);
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < packet.redPacketRankList.Count; ++i)
|
|
{
|
|
RedPacketSendRankInfo rankInfo = null;
|
|
if (packet.redPacketRankList[i].Rank > 3)
|
|
{
|
|
if (rankInfos.Count >= packet.redPacketRankList[i].Rank - 3)
|
|
{
|
|
rankInfo = rankInfos[packet.redPacketRankList[i].Rank - 3];
|
|
|
|
}
|
|
else
|
|
{
|
|
rankInfo = rankInfos[rankInfos.Count - 1];
|
|
}
|
|
}
|
|
else if(packet.redPacketRankList[i].Rank > 0)
|
|
{
|
|
if (rankInfos.Count >= packet.redPacketRankList[i].Rank)
|
|
{
|
|
rankInfo = topRankInfo[packet.redPacketRankList[i].Rank - 1];
|
|
}
|
|
}
|
|
if (rankInfo == null)
|
|
{
|
|
//LogModule.ErrorLog("RankError:" + packet.redPacketRankList[i].Rank);
|
|
}
|
|
else
|
|
{
|
|
rankInfo.PlayerGuid = packet.redPacketRankList[i].Guid;
|
|
rankInfo.PlayerName = packet.redPacketRankList[i].Name;
|
|
rankInfo.SendPacketValue = packet.redPacketRankList[i].Num;
|
|
}
|
|
|
|
if (packet.redPacketRankList[i].Guid == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid)
|
|
{
|
|
myRankInfo.PlayerGuid = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid;
|
|
myRankInfo.PlayerName = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.RoleName;
|
|
myRankInfo.SendPacketValue = packet.redPacketRankList[i].Num;
|
|
myRankInfo.Rank = packet.redPacketRankList[i].Rank;
|
|
myRankInfo.MyMsg = true;
|
|
if (rankInfo != null)
|
|
{
|
|
myRankInfo.AwardTitleID = rankInfo.AwardTitleID;
|
|
myRankInfo.NeedValue = rankInfo.NeedValue;
|
|
}
|
|
}
|
|
}
|
|
|
|
Hashtable myHash = new Hashtable();
|
|
myHash.Add("InitObj", myRankInfo);
|
|
_MyRankInfo.Show(myHash);
|
|
|
|
_RankContainer.InitContentItem(rankInfos);
|
|
for (int i = 0; i < _Top3RedPacketSendItem.Length; ++i)
|
|
{
|
|
Hashtable hash = new Hashtable();
|
|
hash.Add("InitObj", topRankInfo[i]);
|
|
_Top3RedPacketSendItem[i].Show(hash);
|
|
}
|
|
|
|
//for (int i = 2; i < 10; ++i)
|
|
//{
|
|
// RedPacketSendRankInfo rankInfo = new RedPacketSendRankInfo();
|
|
// rankInfo.Rank = i + 1;
|
|
// if (i % 2 == 0)
|
|
// {
|
|
// rankInfo.PlayerGuid = 1;
|
|
// rankInfo.PlayerName = "test" + i;
|
|
// }
|
|
// else
|
|
// {
|
|
// rankInfo.PlayerGuid = Games.GlobeDefine.GlobeVar.INVALID_GUID;
|
|
// rankInfo.PlayerName = "";
|
|
// }
|
|
// rankInfo.SendPacketValue = 100000;
|
|
// rankInfo.NeedValue = 10000;
|
|
// rankInfo.IsLastMsg = false;
|
|
// rankInfo.AwardTitleID = 1;
|
|
|
|
// rankInfos.Add(rankInfo);
|
|
//}
|
|
|
|
//RedPacketSendRankInfo rankInfoLast = new RedPacketSendRankInfo();
|
|
//rankInfoLast.IsLastMsg = true;
|
|
//rankInfoLast.AwardTitleID = 1;
|
|
//rankInfos.Add(rankInfoLast);
|
|
|
|
//for (int i = 0; i < _Top3RedPacketSendItem.Length; ++i)
|
|
//{
|
|
// RedPacketSendRankInfo rankInfo = new RedPacketSendRankInfo();
|
|
// rankInfo.Rank = i + 1;
|
|
// if (i % 2 == 0)
|
|
// {
|
|
// rankInfo.PlayerGuid = 1;
|
|
// rankInfo.PlayerName = "test" + i;
|
|
// }
|
|
// else
|
|
// {
|
|
// rankInfo.PlayerGuid = Games.GlobeDefine.GlobeVar.INVALID_GUID;
|
|
// rankInfo.PlayerName = "";
|
|
// }
|
|
// rankInfo.SendPacketValue = 100000;
|
|
// rankInfo.NeedValue = 10000;
|
|
// rankInfo.IsLastMsg = false;
|
|
// rankInfo.AwardTitleID = 1;
|
|
|
|
// Hashtable hash = new Hashtable();
|
|
// hash.Add("InitObj", rankInfo);
|
|
// _Top3RedPacketSendItem[i].Show(hash);
|
|
//}
|
|
//_RankContainer.InitContentItem(rankInfos);
|
|
|
|
//RedPacketSendRankInfo myRankInfo = new RedPacketSendRankInfo();
|
|
//myRankInfo.Rank = -1;
|
|
//myRankInfo.PlayerGuid = Singleton<ObjManager>.GetInstance().MainPlayer.BaseAttr.Guid;
|
|
//myRankInfo.PlayerName = Singleton<ObjManager>.GetInstance().MainPlayer.BaseAttr.RoleName;
|
|
//myRankInfo.SendPacketValue = 100000;
|
|
//myRankInfo.NeedValue = 10000;
|
|
//myRankInfo.IsLastMsg = false;
|
|
//myRankInfo.AwardTitleID = 1;
|
|
//Hashtable myHash = new Hashtable();
|
|
//myHash.Add("InitObj", myRankInfo);
|
|
//_MyRankInfo.Show(myHash);
|
|
|
|
//for()
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|