处理结算逻辑
This commit is contained in:
parent
267d66869c
commit
f9d62e1eec
@ -1533,10 +1533,10 @@ RectTransform:
|
|||||||
- {fileID: 6210458413926239589}
|
- {fileID: 6210458413926239589}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!223 &9028738046421714771
|
--- !u!223 &9028738046421714771
|
||||||
Canvas:
|
Canvas:
|
||||||
|
@ -110,6 +110,11 @@ namespace GameLogic
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<UnitPlayerData> GetUnitPlayerDatas()
|
||||||
|
{
|
||||||
|
return m_ListUnitPlayDatas;
|
||||||
|
}
|
||||||
|
|
||||||
public double GetAllPower()
|
public double GetAllPower()
|
||||||
{
|
{
|
||||||
return m_AllPush;
|
return m_AllPush;
|
||||||
|
@ -10,19 +10,7 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
|
|||||||
#region 游戏结算上报
|
#region 游戏结算上报
|
||||||
public void C2S_GameRankEnd()
|
public void C2S_GameRankEnd()
|
||||||
{
|
{
|
||||||
//if (EventConts.gameStateType == GameStateType.团队赛)
|
GameRankEnd();
|
||||||
//{
|
|
||||||
// GameRankEnd();
|
|
||||||
//}
|
|
||||||
//else if (EventConts.gameStateType == GameStateType.个人赛)
|
|
||||||
//{
|
|
||||||
// OneGameRankEnd();
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// Log.Error("结算异常,不支持的模式:{0}", EventConts.gameStateType);
|
|
||||||
// return;
|
|
||||||
//}
|
|
||||||
|
|
||||||
// 比例瓜分积分池
|
// 比例瓜分积分池
|
||||||
DataGameSceneManager.Instance.ScoreAllValue = (int)(DataGameSceneManager.Instance.ScoreAllValue * 0.3f);
|
DataGameSceneManager.Instance.ScoreAllValue = (int)(DataGameSceneManager.Instance.ScoreAllValue * 0.3f);
|
||||||
@ -35,37 +23,30 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 个人赛结算逻辑
|
/// 团队赛结算分配
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void OneGameRankEnd()
|
private void GameRankEnd()
|
||||||
{
|
{
|
||||||
// var datas = DataGameSceneManager.Instance.GetAllRankUnityPlayerData();
|
|
||||||
// datas.Sort((a, b) =>
|
|
||||||
// {
|
|
||||||
// if (a.GetIndexRankUnityData().m_Score > b.GetIndexRankUnityData().m_Score)
|
|
||||||
// {
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
//List<PostPlayRankData> rankInfos = new List<PostPlayRankData>();
|
var datas = DataGameSceneManager.Instance.OnCheckWinTeam();
|
||||||
|
|
||||||
// for (int i = 0; i < datas.Count; i++)
|
// 获取获胜阵营玩家数据
|
||||||
// {
|
var us = datas.GetUnitPlayerDatas();
|
||||||
// var d = datas[i].GetIndexRankUnityData();
|
|
||||||
// int scale = EventConts.allScoreScale[i >= EventConts.allScoreScale.Length - 1 ? EventConts.allScoreScale.Length - 1 : i];
|
|
||||||
// long scoreScale = (long)(DataGameSceneManager.Instance.ScoreAllValue * (scale / 100.0f));
|
|
||||||
|
|
||||||
// // Log.Debug("玩家{0},分配所得积分:{1},当前玩家排名:{2}", d.protCustMessageData.nickName, scoreScale, i);
|
|
||||||
|
|
||||||
// // 增加玩家当局积分
|
// 分配
|
||||||
// d.m_Score += scoreScale;
|
for (int i = 0; i < us.Count; i++)
|
||||||
|
{
|
||||||
|
var d = us[i];
|
||||||
|
int scale = EventConts.allScoreScale[i >= EventConts.allScoreScale.Length ? EventConts.allScoreScale.Length - 1 : i];
|
||||||
|
long scoreScale = (long)(DataGameSceneManager.Instance.ScoreAllValue * (scale / 100.0f));
|
||||||
|
|
||||||
// // 分配胜点
|
//Log.Debug("玩家{0},分配所得积分:{1}", d.protCustMessageData.nickName, scoreScale);
|
||||||
|
|
||||||
|
// 增加玩家当局积分
|
||||||
|
d.m_Score += scoreScale;
|
||||||
|
|
||||||
|
// 分配胜点
|
||||||
//if (i < 3)
|
//if (i < 3)
|
||||||
//{
|
//{
|
||||||
// // Use Math.Ceiling to round up the winScale
|
// // Use Math.Ceiling to round up the winScale
|
||||||
@ -73,184 +54,73 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
|
|||||||
// Log.Debug("玩家{0},分配所得胜点:{1}", d.protCustMessageData.nickName, winScale);
|
// Log.Debug("玩家{0},分配所得胜点:{1}", d.protCustMessageData.nickName, winScale);
|
||||||
// d.m_AllWinCount = (int)winScale;
|
// d.m_AllWinCount = (int)winScale;
|
||||||
//}
|
//}
|
||||||
// }
|
if (i == 0)
|
||||||
|
{
|
||||||
// // 上报排行榜数据
|
// Use Math.Ceiling to round up the winScale
|
||||||
// var allDatas = DataGameSceneManager.Instance.GetUnitPlayerDatas();
|
long winScale = DataGameSceneManager.Instance.WinAllValue;
|
||||||
// foreach (var item in allDatas)
|
Log.Debug("玩家{0},分配所得胜点:{1}", d.protCustMessageData.nickName, winScale);
|
||||||
// {
|
d.m_AllWinCount = (int)winScale;
|
||||||
// PostPlayRankData postPlayRankData = new PostPlayRankData();
|
}
|
||||||
// postPlayRankData.uid = item.Key;
|
|
||||||
// postPlayRankData.name = item.Value.protCustMessageData.nickName;
|
|
||||||
// postPlayRankData.score = item.Value.m_Score;
|
|
||||||
// postPlayRankData.pay = 0;
|
|
||||||
// //postPlayRankData.winCount = item.Value.m_AllWinCount;
|
|
||||||
// postPlayRankData.extData1 = item.Value.m_AllWinCount.ToString();
|
|
||||||
// // Log.Debug($"上传排行榜胜点数据:{postPlayRankData.name}====>{postPlayRankData.winCount}");
|
|
||||||
// postPlayRankData.avatar = item.Value.protCustMessageData.imgURL;
|
|
||||||
// // postPlayRankData.extraInfo = item.Value.m_PlayGameInfoData != null ? item.Value.m_PlayGameInfoData.ToJson() : "";
|
|
||||||
// postPlayRankData.exp = item.Value.protCustMessageData.rankRo.exp;
|
|
||||||
// postPlayRankData.lv = item.Value.protCustMessageData.rankRo.lv;
|
|
||||||
// rankInfos.Add(postPlayRankData);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// rankInfos.Sort((a, b) =>
|
|
||||||
// {
|
|
||||||
// if (a.score > b.score)
|
|
||||||
// {
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// Log.Debug($"上传排行榜数据:{rankInfos.ToJson()}");
|
|
||||||
// string m_Json = EventConts.PlatformType == PlatformType.None ? HttpSendHelper.HttpPostRequest(EventConts.UploadScoreTest, rankInfos.ToJson()) : HttpSendHelper.HttpPostRequest(EventConts.UploadScore, rankInfos.ToJson());
|
|
||||||
// Log.Debug($"收到排行榜数据:{m_Json}");
|
|
||||||
|
|
||||||
|
|
||||||
// PlayRankRootData playRankRootData = JsonHelper.Deserialize<PlayRankRootData>(m_Json);
|
|
||||||
// if (playRankRootData != null && playRankRootData.code == 200)
|
|
||||||
// {
|
|
||||||
// // // 清理礼物队列
|
|
||||||
// // DataGameManager.Instance.m_VipItemDatas.Clear();
|
|
||||||
// // DataGameManager.Instance.m_GiftItemDatas.Clear();
|
|
||||||
|
|
||||||
// // 打开结算界面
|
|
||||||
// object[] objects = new object[2];
|
|
||||||
// objects[0] = GameRankType.当局排行榜;
|
|
||||||
// objects[1] = playRankRootData.data;
|
|
||||||
// GameModule.UI.ShowUI<UIGameRankForm>(objects);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// UITip.ShowMessageBox("排行榜结算异常,请联系管理员!!Code:" + playRankRootData.code, MessageShowType.TwoButton, () =>
|
|
||||||
// {
|
|
||||||
|
|
||||||
// }, () =>
|
|
||||||
// {
|
|
||||||
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
List<PostPlayRankData> rankInfos = new List<PostPlayRankData>();
|
||||||
/// 团队赛结算分配
|
// 上报排行榜数据
|
||||||
/// </summary>
|
var allDatas = DataGameSceneManager.Instance.GetUnitPlayerDatas();
|
||||||
private void GameRankEnd()
|
foreach (var item in allDatas)
|
||||||
{
|
{
|
||||||
// var datas = DataGameSceneManager.Instance.GetTeamActors();
|
PostPlayRankData postPlayRankData = new PostPlayRankData();
|
||||||
// List<Actor> actors = new List<Actor>();
|
postPlayRankData.uid = item.Key;
|
||||||
// foreach (var item in datas)
|
postPlayRankData.name = item.Value.protCustMessageData.nickName;
|
||||||
// {
|
postPlayRankData.score = item.Value.m_Score;
|
||||||
// actors.Add(item.Value);
|
postPlayRankData.pay = 0;
|
||||||
// }
|
postPlayRankData.winCount = item.Value.m_AllWinCount;
|
||||||
|
//postPlayRankData.useClientData = "1";
|
||||||
|
postPlayRankData.avatar = item.Value.protCustMessageData.imgURL;
|
||||||
|
postPlayRankData.exp = item.Value.protCustMessageData.rankRo.exp;
|
||||||
|
postPlayRankData.lv = item.Value.protCustMessageData.rankRo.lv;
|
||||||
|
rankInfos.Add(postPlayRankData);
|
||||||
|
}
|
||||||
|
|
||||||
// // 排序
|
rankInfos.Sort((a, b) =>
|
||||||
// actors.Sort((a, b) =>
|
{
|
||||||
// {
|
if (a.score > b.score)
|
||||||
// if (a.GetAllPlayerScore() > b.GetAllPlayerScore())
|
{
|
||||||
// {
|
return -1;
|
||||||
// return -1;
|
}
|
||||||
// }
|
else
|
||||||
// else
|
{
|
||||||
// {
|
return 1;
|
||||||
// return 1;
|
}
|
||||||
// }
|
});
|
||||||
// });
|
|
||||||
|
|
||||||
// // 获取获胜阵营玩家数据
|
Log.Debug($"上传排行榜数据:{rankInfos.ToJson()}");
|
||||||
// var us = actors[0].GetUnitPlayerDatas();
|
string m_Json = EventConts.PlatformType == PlatformType.None ? HttpSendHelper.HttpPostRequest(EventConts.UploadScoreTest, rankInfos.ToJson()) : HttpSendHelper.HttpPostRequest(EventConts.UploadScore, rankInfos.ToJson());
|
||||||
|
Log.Debug($"收到排行榜数据:{m_Json}");
|
||||||
// // 分配
|
|
||||||
// for (int i = 0; i < us.Count; i++)
|
|
||||||
// {
|
|
||||||
// var d = us[i];
|
|
||||||
// int scale = EventConts.allScoreScale[i >= EventConts.allScoreScale.Length ? EventConts.allScoreScale.Length - 1 : i];
|
|
||||||
// long scoreScale = (long)(DataGameSceneManager.Instance.ScoreAllValue * (scale / 100.0f));
|
|
||||||
|
|
||||||
// //Log.Debug("玩家{0},分配所得积分:{1}", d.protCustMessageData.nickName, scoreScale);
|
|
||||||
|
|
||||||
// // 增加玩家当局积分
|
|
||||||
// d.m_Score += scoreScale;
|
|
||||||
|
|
||||||
// // 分配胜点
|
|
||||||
// //if (i < 3)
|
|
||||||
// //{
|
|
||||||
// // // Use Math.Ceiling to round up the winScale
|
|
||||||
// // long winScale = (long)Math.Ceiling(DataGameSceneManager.Instance.WinAllValue * (EventConts.allWinScale[i] / 100.0f));
|
|
||||||
// // Log.Debug("玩家{0},分配所得胜点:{1}", d.protCustMessageData.nickName, winScale);
|
|
||||||
// // d.m_AllWinCount = (int)winScale;
|
|
||||||
// //}
|
|
||||||
// if (i == 0 )
|
|
||||||
// {
|
|
||||||
// // Use Math.Ceiling to round up the winScale
|
|
||||||
// long winScale = DataGameSceneManager.Instance.WinAllValue;
|
|
||||||
// Log.Debug("玩家{0},分配所得胜点:{1}", d.protCustMessageData.nickName, winScale);
|
|
||||||
// d.m_AllWinCount = (int)winScale;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// List<PostPlayRankData> rankInfos = new List<PostPlayRankData>();
|
|
||||||
// // 上报排行榜数据
|
|
||||||
// var allDatas = DataGameSceneManager.Instance.GetUnitPlayerDatas();
|
|
||||||
// foreach (var item in allDatas)
|
|
||||||
// {
|
|
||||||
// PostPlayRankData postPlayRankData = new PostPlayRankData();
|
|
||||||
// postPlayRankData.uid = item.Key;
|
|
||||||
// postPlayRankData.name = item.Value.protCustMessageData.nickName;
|
|
||||||
// postPlayRankData.score = item.Value.m_Score;
|
|
||||||
// postPlayRankData.pay = 0;
|
|
||||||
// postPlayRankData.winCount = item.Value.m_AllWinCount;
|
|
||||||
// //postPlayRankData.useClientData = "1";
|
|
||||||
// postPlayRankData.avatar = item.Value.protCustMessageData.imgURL;
|
|
||||||
// postPlayRankData.exp = item.Value.protCustMessageData.rankRo.exp;
|
|
||||||
// postPlayRankData.lv = item.Value.protCustMessageData.rankRo.lv;
|
|
||||||
// rankInfos.Add(postPlayRankData);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// rankInfos.Sort((a, b) =>
|
|
||||||
// {
|
|
||||||
// if (a.score > b.score)
|
|
||||||
// {
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// Log.Debug($"上传排行榜数据:{rankInfos.ToJson()}");
|
|
||||||
// string m_Json = EventConts.PlatformType == PlatformType.None ? HttpSendHelper.HttpPostRequest(EventConts.UploadScoreTest, rankInfos.ToJson()) : HttpSendHelper.HttpPostRequest(EventConts.UploadScore, rankInfos.ToJson());
|
|
||||||
// Log.Debug($"收到排行榜数据:{m_Json}");
|
|
||||||
|
|
||||||
|
|
||||||
// PlayRankRootData playRankRootData = JsonHelper.Deserialize<PlayRankRootData>(m_Json);
|
PlayRankRootData playRankRootData = JsonHelper.Deserialize<PlayRankRootData>(m_Json);
|
||||||
// if (playRankRootData != null && playRankRootData.code == 200)
|
if (playRankRootData != null && playRankRootData.code == 200)
|
||||||
// {
|
{
|
||||||
// // // 清理礼物队列
|
// // 清理礼物队列
|
||||||
// // DataGameManager.Instance.m_VipItemDatas.Clear();
|
// DataGameManager.Instance.m_VipItemDatas.Clear();
|
||||||
// // DataGameManager.Instance.m_GiftItemDatas.Clear();
|
// DataGameManager.Instance.m_GiftItemDatas.Clear();
|
||||||
|
|
||||||
// // 打开结算界面
|
// 打开结算界面
|
||||||
// object[] objects = new object[2];
|
object[] objects = new object[2];
|
||||||
// objects[0] = GameRankType.当局排行榜;
|
objects[0] = GameRankType.当局排行榜;
|
||||||
// objects[1] = playRankRootData.data;
|
objects[1] = playRankRootData.data;
|
||||||
// GameModule.UI.ShowUI<UIGameRankForm>(objects);
|
GameModule.UI.ShowUI<UIGameRankForm>(objects);
|
||||||
// }
|
}
|
||||||
// else
|
else
|
||||||
// {
|
{
|
||||||
// UITip.ShowMessageBox("排行榜结算异常,请联系管理员!!Code:" + playRankRootData.code, MessageShowType.TwoButton, () =>
|
UITip.ShowMessageBox("排行榜结算异常,请联系管理员!!Code:" + playRankRootData.code, MessageShowType.TwoButton, () =>
|
||||||
// {
|
{
|
||||||
|
|
||||||
// }, () =>
|
}, () =>
|
||||||
// {
|
{
|
||||||
|
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -872,7 +872,7 @@ namespace GameLogic
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 确认获胜阵营
|
/// 确认获胜阵营
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private ActorHItem OnCheckWinTeam()
|
public ActorHItem OnCheckWinTeam()
|
||||||
{
|
{
|
||||||
m_TeamSortList.Sort((a, b) =>
|
m_TeamSortList.Sort((a, b) =>
|
||||||
{
|
{
|
||||||
|
@ -42,8 +42,59 @@ namespace GameLogic
|
|||||||
#region 事件
|
#region 事件
|
||||||
private void OnClick_CloseBtn()
|
private void OnClick_CloseBtn()
|
||||||
{
|
{
|
||||||
|
MoveGameLoaclRank();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
protected override void OnCreate()
|
||||||
|
{
|
||||||
|
base.OnCreate();
|
||||||
|
|
||||||
|
|
||||||
|
ShowUIData();
|
||||||
|
|
||||||
|
|
||||||
|
// 新增一个定时器
|
||||||
|
GameModule.Timer.AddTimer((e) =>
|
||||||
|
{
|
||||||
|
|
||||||
|
MoveGameLoaclRank();
|
||||||
|
|
||||||
|
}, 5);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ShowUIData()
|
||||||
|
{
|
||||||
|
GameEndData gameEndData = UserData as GameEndData;
|
||||||
|
|
||||||
|
m_tmp_PlayerName.text = gameEndData.m_WinTeamName;
|
||||||
|
m_tmp_SbyrPlayerName.text = gameEndData.m_SbyrPlayerName;
|
||||||
|
m_tmp_ZjgxPlayerNAME.text = gameEndData.m_ZjgxPlayerName;
|
||||||
|
m_tmp_TzhsPlayerName.text = gameEndData.m_TzhsPlayerName;
|
||||||
|
m_tmp_DzzwPlayerName.text = gameEndData.m_DzzwPlayerName;
|
||||||
|
m_tmp_WinPlayerName.text = gameEndData.m_WinPlayerName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 前往结算界面
|
||||||
|
/// </summary>
|
||||||
|
private void MoveGameLoaclRank()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
// 调用结算分配
|
||||||
|
DataGameModelManager.Instance.C2S_GameRankEnd();
|
||||||
|
|
||||||
|
//// 显示结算界面
|
||||||
|
|
||||||
|
//GameModule.UI.CloseUI<UIGameEndForm>();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user