1111
This commit is contained in:
@@ -14,12 +14,15 @@ public class MapController : ControllerBase
|
||||
private readonly IUnitUserService _userService;
|
||||
private readonly IGameMapService _mapService;
|
||||
private readonly IGameChatService _chatService;
|
||||
private readonly IUnitUserAttrService _attrService;
|
||||
|
||||
public MapController(IUnitUserService userService, IGameMapService mapService, IGameChatService chatService)
|
||||
public MapController(IUnitUserService userService, IGameMapService mapService, IGameChatService chatService,
|
||||
IUnitUserAttrService attrService)
|
||||
{
|
||||
_userService = userService;
|
||||
_mapService = mapService;
|
||||
_chatService = chatService;
|
||||
_attrService = attrService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -32,17 +35,35 @@ public class MapController : ControllerBase
|
||||
{
|
||||
string userId = StateHelper.userId;
|
||||
int area = StateHelper.areaId;
|
||||
var onMap = await _mapService.GetUserOnMap(userId);
|
||||
game_city_map mapInfo = new game_city_map();
|
||||
if (string.IsNullOrEmpty(map))
|
||||
|
||||
#region 地图导向处理
|
||||
|
||||
bool isSelfMap = false;
|
||||
if (!isSelfMap)
|
||||
{
|
||||
//血量为0得时候地图点为本身
|
||||
var myBlood = await _attrService.GetUserBlood(userId);
|
||||
if (myBlood.blood < 1)
|
||||
{
|
||||
//设置默认地图点
|
||||
await _mapService.SetUserMapDefult(userId);
|
||||
isSelfMap = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isSelfMap)
|
||||
{
|
||||
var onMap = await _mapService.GetUserOnMap(userId);
|
||||
mapInfo = await _mapService.GetMapInfo(onMap.mapId);
|
||||
}
|
||||
else
|
||||
{
|
||||
mapInfo = await _mapService.GetMapInfo(map);
|
||||
mapInfo = await _mapService.GetToMapInfo(userId, map, false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
//公聊信息
|
||||
string teamId = "";
|
||||
string groupId = "";
|
||||
@@ -56,7 +77,7 @@ public class MapController : ControllerBase
|
||||
3); //获取附近的人
|
||||
|
||||
var cityInfo = await _mapService.GetCityInfo((int)mapInfo.cityId); //城市信息
|
||||
var cityShow = await _mapService.GetMapCity(cityInfo.cityId); //城内地图
|
||||
var cityShow = await _mapService.GetCityShowMap(cityInfo.cityId); //城内地图
|
||||
|
||||
#region 更新在线
|
||||
|
||||
@@ -83,16 +104,62 @@ public class MapController : ControllerBase
|
||||
string userId = StateHelper.userId;
|
||||
int areaId = StateHelper.areaId;
|
||||
var onMap = await _mapService.GetUserOnMap(userId);
|
||||
|
||||
|
||||
var mapInfo = await _mapService.GetMapInfo(onMap.mapId);
|
||||
if (mapInfo == null)
|
||||
{
|
||||
return PoAction.Message("地图不存在!");
|
||||
}
|
||||
|
||||
var data = await _mapService.GetMapUser(onMap.mapId, areaId, (int)mapInfo.lookArea, new List<string> { userId }, page,
|
||||
var data = await _mapService.GetMapUser(onMap.mapId, areaId, (int)mapInfo.lookArea, new List<string> { userId },
|
||||
page,
|
||||
10, Total);
|
||||
|
||||
return PoAction.Ok(new { data, total = Total.Value});
|
||||
|
||||
return PoAction.Ok(new { data, total = Total.Value });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前城市所有地图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<IPoAction> GetUserOnCityMap(string? search)
|
||||
{
|
||||
string userId = StateHelper.userId;
|
||||
var onMap = await _mapService.GetUserOnMap(userId);
|
||||
var mapInfo = await _mapService.GetMapInfo(onMap.mapId);
|
||||
var data = await _mapService.GetCityMap((int)mapInfo.cityId);
|
||||
if (!string.IsNullOrEmpty(search))
|
||||
{
|
||||
data = data.FindAll(it => it.mapName.Contains(search));
|
||||
}
|
||||
|
||||
return PoAction.Ok(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取自动寻路路径
|
||||
/// </summary>
|
||||
/// <param name="toMap"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<IPoAction> GetAutoMapPath(string? toMap)
|
||||
{
|
||||
if (string.IsNullOrEmpty(toMap))
|
||||
{
|
||||
return PoAction.Message("目标地点不能为空!");
|
||||
}
|
||||
|
||||
string userId = StateHelper.userId;
|
||||
var onMap = await _mapService.GetUserOnMap(userId);
|
||||
var result = await _mapService.CreateAutoMap(onMap.mapId, toMap);
|
||||
if (result.Count > 0)
|
||||
{
|
||||
return PoAction.Ok(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
return PoAction.Message("无法自动寻路!");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user