forked from powerfun/udpservice
修复异常导致的所有虚拟人物都骑行完毕,数据没有加载的问题。
This commit is contained in:
parent
98781ecd58
commit
6921145154
@ -13,15 +13,19 @@ namespace OnlineUserPool.Hander
|
|||||||
public class MapRecordRankingHander
|
public class MapRecordRankingHander
|
||||||
{
|
{
|
||||||
private static List<MapRecordRanking> mapRecordRankings;
|
private static List<MapRecordRanking> mapRecordRankings;
|
||||||
private static bool loading = false;//防止服务端响应慢,多次加载
|
private static object locker = new object();//防止服务端响应慢,多次加载
|
||||||
private int top = int.Parse(ConfigHelp.Top);
|
private int top = int.Parse(ConfigHelp.Top);
|
||||||
|
|
||||||
public MapRecordRankingHander()
|
public MapRecordRankingHander()
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Init()
|
||||||
{
|
{
|
||||||
var randomUser = WebService.GetMapRouteRandomUser(new RandomRankingUserRequestVM() { top = top });
|
var randomUser = WebService.GetMapRouteRandomUser(new RandomRankingUserRequestVM() { top = top });
|
||||||
mapRecordRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList());
|
mapRecordRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取虚拟人物数据
|
/// 获取虚拟人物数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -72,10 +76,13 @@ namespace OnlineUserPool.Hander
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void RemoveEndAndAddNewVirtualUser()
|
public void RemoveEndAndAddNewVirtualUser()
|
||||||
{
|
{
|
||||||
if (mapRecordRankings != null && mapRecordRankings.Count > 0 && !loading)
|
lock (locker)
|
||||||
{
|
{
|
||||||
loading = true;
|
|
||||||
var end = mapRecordRankings.FindAll(n => n.End);
|
var end = mapRecordRankings.FindAll(n => n.End);
|
||||||
|
if (end.Count == mapRecordRankings.Count)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
if (end.Count > 0)
|
if (end.Count > 0)
|
||||||
{
|
{
|
||||||
mapRecordRankings.RemoveAll(n => n.End);
|
mapRecordRankings.RemoveAll(n => n.End);
|
||||||
@ -87,7 +94,6 @@ namespace OnlineUserPool.Hander
|
|||||||
var addRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList());
|
var addRankings = WebService.GetRecordFileFromServer(randomUser.Select(n => n.RankingId).ToList());
|
||||||
mapRecordRankings.AddRange(addRankings);
|
mapRecordRankings.AddRange(addRankings);
|
||||||
}
|
}
|
||||||
loading = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user