tcp发送增加ar视频播放帧数&首页布局还原到初版

This commit is contained in:
lishuo committed 2022-04-20 17:32:27 +08:00
1 parent 3532978762
commit 4a3542010f
18 files changed
+1937 -1788

No files matched your search

+3 -9
View File
@@ -53,7 +53,7 @@ public class MainController : BaseScene
modalRect.sizeDelta = new Vector2(1600, 900);
App.MainDeviceAdapter.StartScan();
#endif
//EventQueueSystem.AddListener<LinkedMessageEvent>(LinkedMessageHandler);
EventQueueSystem.AddListener<LinkedMessageEvent>(LinkedMessageHandler);
App.isHomeChanged -= OnIsHomeChanged;
App.isHomeChanged += OnIsHomeChanged;
}
@@ -149,8 +149,7 @@ public class MainController : BaseScene
emptyt = 0;
if (App.currentPageIsHome)
{
//DoMessage6(e);
DoTopMessage(e);
DoMessage6(e);
}
}
@@ -159,11 +158,6 @@ public class MainController : BaseScene
#else
float moveOffset = 38;
#endif
private void DoTopMessage(LinkedMessageEvent e)
{
}
private void DoMessage6(LinkedMessageEvent e)
{
//Resources.UnloadUnusedAssets();
@@ -290,7 +284,7 @@ public class MainController : BaseScene
$"{Math.Round(SystemInfo.batteryLevel * 100, 0)}%";
transform.Find("MobileInfo/TimeText").GetComponent<Text>().text =
DateTime.Now.ToString("HH:mm");
//ShowQueueMessage();
ShowQueueMessage();
#if UNITY_EDITOR
if (App.CurrentUser == null) //App.CurrentUser == null
{
@@ -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);
true, 1, lastData._Speed, false, preDistance, weightKg, competitionId: recorderData.Competitionid, recorderData.Saved, 0, lastData._Power, lastData._Cadence, lastData.Ticks, (lastData._FrameRate??0));
}
else if (recorderData.EndDistance > 0)//没有骑,但是有初始位置的情况
{
@@ -80,6 +80,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
EndDistance = item.EndDistance,
PreDistance = item.PreDistance,
WeightKg = item.WeightKg,
FrameRate = item.FrameRate,
});
}
+7 -1
View File
@@ -376,6 +376,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public bool Saved { get; set; }
//public int V { get; set; }
public int FrameRate { get; set; }
}
public class GzipMsgModel
@@ -436,11 +438,12 @@ namespace Assets.Scenes.Ride.Scripts.Model
public string WatchIdList { get; set; }
public int? FrameRate { get; set; }
public static ReceiveMsgModel Parse(string str)
{
var list = str.Split(',');
if (list.Length != 14)
if (list.Length != 15)
{
return null;
}
@@ -464,6 +467,7 @@ 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),
};
}
catch
@@ -595,6 +599,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public string Country { get; set; }
public DateTime CreateTime { get; set; }
public int? FrameRate { get; set; }
}
public class KeyPaire
@@ -19,6 +19,8 @@ namespace Assets.Scenes.Ride.Scripts.Model.RiderModels
/// </summary>
public GeographicPosition Point { get; set; }
public int? FrameRate { get; set; } = 0;
public OutUser GetOutUser(double preDistance, double currentDistance, TurfHelper turfHelper, CyclingStateEnum cyclingState)
{
if (this.IsSelf)
@@ -34,6 +34,9 @@ namespace Assets.Scenes.Ride.Scripts.Model
//public double _Bearing = 0d;
//视频帧数
public int? _FrameRate = 0;
public TargetData Clone()
{
return (TargetData)MemberwiseClone();
@@ -207,7 +207,7 @@ namespace Assets.Scenes.Ride.Scripts
/// <param name="exit">是否退出</param>
public static void Send(int RouteId, int MemberId, double[] Point, bool IsCompleted = false, bool exit = false,
double endDistance = 0, bool showVirtual = false, byte commandType = 1, double speed = 0, bool isVirtual = false, double preDistance = 0,
double weightKg = 0, int competitionId = 0, bool saved = false,double? heartRate = 0, double power = 0, double? cadence = 0,int totalTicks = 0)
double weightKg = 0, int competitionId = 0, bool saved = false,double? heartRate = 0, double power = 0, double? cadence = 0,int totalTicks = 0, int frameRate = 0)
{
try
{
@@ -235,6 +235,7 @@ namespace Assets.Scenes.Ride.Scripts
WeightKg = weightKg,
Competitionid = competitionId,
Saved = saved,
FrameRate = frameRate
//V = 1
};
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(model));
@@ -491,6 +492,7 @@ namespace Assets.Scenes.Ride.Scripts
}
user.IsWatcher = user.WatcherList.Contains(item.MemberId);
user.CreateTime = DateTime.MaxValue;
user.FrameRate = item.FrameRate;
}
else
{
@@ -223,14 +223,12 @@ namespace Assets.Scripts.Scenes.VideoRide
}
}
private void Forward()
protected virtual void Forward()
{
try
{
if (mapData == null)
mapData = manager.GetMapData();
distance = Math.Round(speed / 3600, 5, MidpointRounding.AwayFromZero);
totalDistance += distance;
currentlatLon = manager.Along(totalDistance % mapData.TotalDistance);
////根据人物速度设置人物距离摄像头远近
//if (speed > 20 && speed < 30)
@@ -24,10 +24,10 @@ namespace Assets.Scripts.Scenes.VideoRide
var current = manager.CurrentPlayer;
if (current != null && current.UserId != UserId)
{
var left = totalDistance % mapData.TotalDistance;
var right = current.totalDistance % mapData.TotalDistance;
diff = (left - right) * 1000;
if (Math.Abs(diff) > 50)
//var left = totalDistance % mapData.TotalDistance;
//var right = current.totalDistance % mapData.TotalDistance;
//diff = (left - right) * 1000;
if (Math.Abs(diff) > 150)
{
Destroy();
}
@@ -76,25 +76,14 @@ namespace Assets.Scripts.Scenes.VideoRide
// print(e.Message);
//}
}
private int currentFrame { get; set; }
protected override void ComputeAnimator()
{
base.ComputeAnimator();
if (manager.CurrentPlayer == null || manager.CurrentPlayer.UserId != UserId)
{
//var currentFrame = manager.GetFrameOffSet(diff);
var mainFrame = manager.GetCurrentFrame();
var currentFrame = mainFrame + diff * 10;
//var min = Math.Min(currentFrame, mainFrame);
//var max = Math.Max(currentFrame, mainFrame);
frames = (int)currentFrame;
var result = manager.mockDirection.Where(c => c.Start < frames && c.End > frames).FirstOrDefault();
bearing = result?.Value ?? 0;
animator.SetFloat("bearing", bearing);
}
else
{
var mainFrame = manager.GetCurrentFrame();
var result = manager.mockDirection.Where(c => c.Start < mainFrame && c.End > mainFrame).FirstOrDefault();
var result = manager.mockDirection.Where(c => c.Start < currentFrame && c.End > currentFrame).FirstOrDefault();
bearing = result?.Value ?? 0;
animator.SetFloat("bearing", bearing);
}
@@ -109,7 +98,7 @@ namespace Assets.Scripts.Scenes.VideoRide
}
//设置当前玩家属性
public void SetPlayer(string name, double distance, double totalDistance, double cadance,double heartRate, double wkg, int userId,double power,double currentPlayerDistance)
public void SetPlayer(string name, double distance, double totalDistance, double cadance,double heartRate, double wkg, int userId,double power,double currentPlayerDistance,int frame)
{
this.wkg = wkg;
this.UserName = name;
@@ -119,7 +108,8 @@ namespace Assets.Scripts.Scenes.VideoRide
this.UserId = userId;
this.power = power;
this.speed = distance * 3600;
this.diff = currentPlayerDistance - totalDistance;
this.diff = totalDistance - currentPlayerDistance;
this.currentFrame = frame;
}
}
}
@@ -165,7 +165,7 @@ namespace Assets.Scripts.Scenes.VideoRide
var onlineRider = currentPlayer as OnlineRiderModel;
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, onlineRider.TotalTicks, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, onlineRider.TotalTicks, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance,onlineRider.FrameRate.Value);
obj.transform.DOMoveX(0, 1);
ChangePlayer(currentPlayer.UserId);
CurrentPlayer = online;
@@ -198,7 +198,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var online = exsit.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
}
else
{
@@ -209,7 +209,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
obj.transform.DOMoveX(slots[currentOnlineCount], 1);
currentOnlineCount++;
}
@@ -260,7 +260,7 @@ namespace Assets.Scripts.Scenes.VideoRide
var onlineRider = currentPlayer as OnlineRiderModel;
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, 0, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, 0, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance, onlineRider.FrameRate.Value);
obj.transform.position = origin;
CurrentPlayer = online;
var currentFrames = DistanceToFrames(CurrentPlayer.totalDistance);
@@ -50,7 +50,7 @@ namespace Assets.Scripts.Scenes.VideoRide
power = manager.UpdatePower();
cadance = manager.UpdateCadence();
//#if UNITY_EDITOR
power = 150;
power = 50;
cadance = 150;
heartRate = 160;
//#endif
@@ -87,6 +87,7 @@ namespace Assets.Scripts.Scenes.VideoRide
_Lat = currentlatLon.x,
_Lon = currentlatLon.y,
_TotalClimb = totalClimb,
_FrameRate = manager.GetCurrentFrame()
};
var preDistance = totalDistance >= mapData.TotalDistance ? targetData._Distance : targetData._Distance - distance;
recorderData.PreDistance = Math.Round(preDistance, 6, MidpointRounding.AwayFromZero);
@@ -99,6 +100,13 @@ namespace Assets.Scripts.Scenes.VideoRide
// manager.Save(totalDistance);
//}
}
protected override void Forward()
{
base.Forward();
distance = Math.Round(speed / 3600, 5, MidpointRounding.AwayFromZero);
totalDistance += distance;
}
//保存骑行记录
public void Upload()
{