对战初步完成
This commit is contained in:
1 parent
b0c0890ca3
commit
509c309252
55 files changed
+7079
-6748
No files matched your search
@@ -105,7 +105,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
MapUDPService.Send(route.RouteInstance.Id, recorderData.BelongUserId,
|
||||
new double[] { lastData._Lat, lastData._Lon },
|
||||
recorderData.IsCompleted, false, recorderData.EndDistance,
|
||||
true, 1, lastData._Speed, false, preDistance, weightKg, competitionId: recorderData.Competitionid, recorderData.Saved, 0, lastData._Power, lastData._Cadence, lastData.Ticks, (lastData._FrameRate??0));
|
||||
true, 1, lastData._Speed, false, preDistance, weightKg, competitionId: recorderData.Competitionid, recorderData.Saved, 0, lastData._Power, lastData._Cadence, lastData.Ticks, (lastData._FrameRate??0),roomId: (recorderData.RoomId??0));
|
||||
}
|
||||
else if (recorderData.EndDistance > 0)//没有骑,但是有初始位置的情况
|
||||
{
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
|
||||
using Assets.Scripts.Apis.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
|
||||
{
|
||||
public class GameModel : BaseCycling
|
||||
{
|
||||
public GameModel(Route route,RouteResultParam param)
|
||||
: base(route, CyclingModel.Single)
|
||||
{
|
||||
this.IsRecord = true;
|
||||
recorderData = new RecorderDataModel()
|
||||
{
|
||||
CurrentUser = App.CurrentUser,
|
||||
Competitionid = 0,
|
||||
ContinueIndex = 0,
|
||||
ContinueMark = Guid.NewGuid().ToString(),
|
||||
EndDistance = 0,
|
||||
IsCompleted = false,
|
||||
IsNeedRanking = true,
|
||||
CyclingState = CyclingStateEnum.Prepare,
|
||||
CurrentRoute = route,
|
||||
CurrentRouteStartDistance = 0,
|
||||
StartTime = DateTime.Now,//UIManager.Now.GetDateTime(),//DateTime.Now
|
||||
selectParam = param,
|
||||
RoomId = App.gameRoomDetail.RoomId,
|
||||
};
|
||||
|
||||
if (param != null)
|
||||
{
|
||||
recorderData.EndDistance = param.EndDistance;
|
||||
recorderData.CurrentRouteStartDistance = param.EndDistance;
|
||||
if (!string.IsNullOrWhiteSpace(param.ContinueMark))
|
||||
{
|
||||
recorderData.ContinueMark = param.ContinueMark;
|
||||
}
|
||||
else
|
||||
{
|
||||
param.ContinueMark = recorderData.ContinueMark;
|
||||
}
|
||||
recorderData.ContinueIndex = param.ContinueIndex.GetValueOrDefault(0);
|
||||
}
|
||||
|
||||
recorderData.PreDistance = recorderData.EndDistance;
|
||||
|
||||
riders = new List<BaseRider>();
|
||||
}
|
||||
|
||||
public override void Run(TargetData targetData)
|
||||
{
|
||||
#region 获取当前路线在线用户
|
||||
riders.RemoveAll(r => r.IsSelf == false);
|
||||
var onlineUsers = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,App.gameRoomDetail.RoomId).Where(d => d.IsSelf == false)
|
||||
.ToList();
|
||||
foreach (var item in onlineUsers)
|
||||
{
|
||||
riders.Add(new OnlineRiderModel()
|
||||
{
|
||||
NickName = item.Name,
|
||||
UserId = item.Id,
|
||||
WxHeadImg = item.HeadImage,
|
||||
Point = new GeoJSON.Net.Geometry.GeographicPosition(item.Point[0], item.Point[1]),
|
||||
EndDistance = item.EndDistance,
|
||||
PreDistance = item.PreDistance,
|
||||
WeightKg = item.WeightKg,
|
||||
FrameRate = item.FrameRate,
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
base.Run(targetData);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15c731fec2d5df74c8881a2cefe75fb6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -30,7 +30,11 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
/// <summary>
|
||||
/// 环球骑行
|
||||
/// </summary>
|
||||
GlobalCycling = 4
|
||||
GlobalCycling = 4,
|
||||
/// <summary>
|
||||
/// 对战模式
|
||||
/// </summary>
|
||||
GameRoom = 5
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using GeoJSON.Net.Geometry;
|
||||
using Assets.Scripts.Apis.Models;
|
||||
using GeoJSON.Net.Geometry;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
@@ -41,6 +42,23 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
return detail;
|
||||
}
|
||||
}
|
||||
public class ExtendInfo
|
||||
{
|
||||
public int RoomId { get; set; }
|
||||
public int UserId { get; set; }
|
||||
public static ExtendInfo Parse(string s)
|
||||
{
|
||||
if (string.IsNullOrEmpty(s))
|
||||
return null;
|
||||
var info = s.Split(',');
|
||||
var ex = new ExtendInfo()
|
||||
{
|
||||
UserId = Convert.ToInt32(info[0]),
|
||||
RoomId = Convert.ToInt32(info[1]),
|
||||
};
|
||||
return ex;
|
||||
}
|
||||
}
|
||||
public class RoomDetailModel
|
||||
{
|
||||
public int RoomId { get; set; }
|
||||
@@ -70,6 +88,57 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
return detail;
|
||||
}
|
||||
}
|
||||
public class QueryGameRoomListCommand
|
||||
{
|
||||
public byte CommandType { get; set; }
|
||||
public byte SubType { get; set; }
|
||||
public int V { get; set; }
|
||||
public int UserId { get; set; }
|
||||
public int PageIndex { get; set; }
|
||||
public int PageSize { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
public class QueryGameRoomDetailCommand
|
||||
{
|
||||
public byte CommandType { get; set; }
|
||||
public byte SubType { get; set; }
|
||||
public int V { get; set; }
|
||||
public int RoomId { get; set; }
|
||||
}
|
||||
public class CreateGameRoomCommand
|
||||
{
|
||||
public byte CommandType { get; set; }
|
||||
public byte SubType { get; set; }
|
||||
public int V { get; set; }
|
||||
|
||||
public int Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public int RouteId { get; set; }
|
||||
|
||||
public int UserId { get; set; }
|
||||
|
||||
public int CloseTime { get; set; }
|
||||
|
||||
public int MaxMembers { get; set; }
|
||||
|
||||
public string Password { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
public string MapRouteName { get; set; }
|
||||
public double Distance { get; set; }
|
||||
public double TotalClimb { get; set; }
|
||||
public double AverageGrade { get; set; }
|
||||
public bool Enable3D { get; set; }
|
||||
public bool EnableAR { get; set; }
|
||||
public bool IsLock { get; set; }
|
||||
public string FileName { get; set; }
|
||||
public string FileUrl { get; set; }
|
||||
public string AltitudeGraph { get; set; }
|
||||
|
||||
}
|
||||
public class JoinGameRoomCommand
|
||||
{
|
||||
public byte CommandType { get; set; }
|
||||
@@ -444,7 +513,9 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
|
||||
public int FrameRate { get; set; }
|
||||
public int RoomId { get; set; }
|
||||
public string Model { get; set; }
|
||||
public DateTime? StartTime { get; set; }
|
||||
public string Request { get; set; }
|
||||
}
|
||||
|
||||
public class GzipMsgModel
|
||||
@@ -507,9 +578,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
|
||||
public int? FrameRate { get; set; }
|
||||
public int? RoomId { get; set; }
|
||||
public RoomModel Room{ get; set; }
|
||||
public RoomDetailModel RoomDetail { get; set; }
|
||||
public DateTime? StartTime { get; set; }
|
||||
public List<GameRoomModel> RoomList { get; set; }
|
||||
public GameRoomModel RoomDetail { get; set; }
|
||||
|
||||
public static ReceiveMsgModel Parse(string str)
|
||||
{
|
||||
@@ -543,9 +613,6 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
HeartRate = Convert.ToDouble(list[11], CultureInfo.InvariantCulture),
|
||||
Cadence = Convert.ToDouble(list[12], CultureInfo.InvariantCulture),
|
||||
TotoalTicks = Convert.ToInt32(list[13], CultureInfo.InvariantCulture),
|
||||
FrameRate = Convert.ToInt32(list[14], CultureInfo.InvariantCulture),
|
||||
//RoomId = Convert.ToInt32(list[15], CultureInfo.InvariantCulture),
|
||||
//StartTime = startTime,
|
||||
};
|
||||
}
|
||||
catch(Exception e)
|
||||
@@ -580,6 +647,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
return "Online-" + this.Id;
|
||||
}
|
||||
}
|
||||
public int Sex { get; set; }
|
||||
|
||||
public bool IsVirtual { get; set; }
|
||||
/// <summary>
|
||||
@@ -680,6 +748,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
|
||||
public int? FrameRate { get; set; }
|
||||
|
||||
public int RoomId { get; set; }
|
||||
|
||||
public RoomModel Room { get; set; }
|
||||
|
||||
public RoomDetailModel RoomDetail { get; set; }
|
||||
|
||||
@@ -106,6 +106,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
public DateTime EndTime { get; set; }
|
||||
|
||||
public int? LastFrame { get; set; }
|
||||
|
||||
public int? RoomId { get; set; }
|
||||
/// <summary>
|
||||
/// 是否已经保存成功
|
||||
/// </summary>
|
||||
@@ -180,7 +182,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
|
||||
Param = Newtonsoft.Json.JsonConvert.SerializeObject(selectParam),
|
||||
GlobalCyclingId = 0,
|
||||
Source = "",
|
||||
LastFrame = LastFrame
|
||||
LastFrame = LastFrame,
|
||||
RoomId = RoomId
|
||||
};
|
||||
//var range = new MapSpeedRange().GetSpeedRange(RiderDatas, CurrentRoute.RouteInstance.Distance);
|
||||
interruptRecord.SpeedRange = null; //JsonConvert.SerializeObject(range);
|
||||
|
||||
Reference in new issue
Block a user