| | |
| | | public bool TryGetRoomNewPlayer(int xgId, out List<uint> newPlayerList)
|
| | | {
|
| | | newPlayerList = new List<uint>();
|
| | | var serverNow = TimeUtility.ServerNow; |
| | | var serverNow = TimeUtility.GetTodayStartTime(); // 获取服务器当前时间的当天0点
|
| | | if (!XiangongConfig.Has(xgId) || allPlayerDict == null || !allPlayerDict.TryGetValue(xgId, out var list) || list == null || allPlayerInfoDict == null || !allPlayerInfoDict.TryGetValue(xgId, out var xgInfo) || xgInfo == null)
|
| | | return false;
|
| | | for (int i = 0; i < list.Count; i++)
|
| | |
| | | if (!xgInfo.TryGetValue(list[i], out var celestialPalacePlayer) || celestialPalacePlayer == null)
|
| | | continue;
|
| | | uint showTimes = (uint)XiangongConfig.Get(xgId).ShowDays;
|
| | | var overTime = TimeUtility.GetTime((uint)(celestialPalacePlayer.AddTime));
|
| | | // 获取玩家晋升的时间点,并取该天的开始时间(0点)
|
| | | var addTime = TimeUtility.GetTime((uint)(celestialPalacePlayer.AddTime));
|
| | | var overTime = TimeUtility.GetDayStartTime(addTime.Year, addTime.Month, addTime.Day);
|
| | | // 计算展示期的结束时间
|
| | | overTime = overTime.AddDays(showTimes);
|
| | | // 比较展示期结束时间是否还在当前时间之后
|
| | | if (overTime > serverNow)
|
| | | newPlayerList.Add(list[i]);
|
| | | }
|