This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-10 19:06:22 +08:00
parent 19fe4b448d
commit 8cb4d8ed78
5 changed files with 1394 additions and 1254 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -37,35 +37,74 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
var us = datas.GetUnitPlayerDatas();
//// 分配
//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;
// }
//}
// 总积分
long totalScore = DataGameSceneManager.Instance.ScoreAllValue;
// 计算前三名分配
long firstScore = (long)(totalScore * 0.3f);
long secondScore = (long)(totalScore * 0.2f);
long thirdScore = (long)(totalScore * 0.1f);
// 计算剩余40%平分
long leftScore = totalScore - firstScore - secondScore - thirdScore;
int playerCount = us.Count;
long avgScore = playerCount > 0 ? leftScore / playerCount : 0;
// 分配
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));
long addScore = avgScore;
if (i == 0)
addScore += firstScore;
else if (i == 1)
addScore += secondScore;
else if (i == 2)
addScore += thirdScore;
//Log.Debug("玩家{0},分配所得积分:{1}", d.protCustMessageData.nickName, scoreScale);
d.m_Score += addScore;
// 增加玩家当局积分
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();
@ -76,7 +115,7 @@ public class DataGameModelManager : GameBase.Singleton<DataGameModelManager>
postPlayRankData.name = item.Value.protCustMessageData.nickName;
postPlayRankData.score = item.Value.m_Score;
postPlayRankData.pay = 0;
postPlayRankData.winCount = item.Value.m_AllWinCount;
postPlayRankData.winCount = item.Value.m_GongXian;
//postPlayRankData.useClientData = "1";
postPlayRankData.avatar = item.Value.protCustMessageData.imgURL;
postPlayRankData.exp = item.Value.protCustMessageData.rankRo.exp;

View File

@ -40,7 +40,7 @@ namespace GameLogic
// 积分
m_Score.text = UITool.ConvertToString(playRankData.score);
m_GongXian.text = "0";
m_GongXian.text = UITool.ConvertToString(playRankData.winCount);
//m_LoaclScore.text = "(+" + UITool.ConvertToString(unitPlayer.m_Score) + "本局)";
// 设置头像