界面微调,设备连接中断跳时间bug修复

This commit is contained in:
lishuo committed 2021-05-20 15:55:27 +08:00
1 parent f1eeb11543
commit 7ba012f5f2
20 files changed
+3763 -3334

No files matched your search

+3366 -3268
View File
File diff suppressed because it is too large. Load diff
+15 -25
View File
@@ -133,14 +133,7 @@ namespace Assets.Scenes.Ride.Scripts
{
characterAnimator.speed = 1f;
}
//if (speed < 20 && speed >= 10)
//{
// characterAnimator.speed = 0.8f;
//}
//if (speed >= 20)
//{
// characterAnimator.speed = 1f;
//}
if (totalDistance >= mapData.TotalDistance)
{
characterAnimator.SetBool("ReachEnd", true);//到达终点
@@ -176,7 +169,7 @@ namespace Assets.Scenes.Ride.Scripts
}
}
//游戏开始开关
protected virtual bool GetStart()
public virtual bool GetStart()
{
return mainController.isStart;
}
@@ -252,16 +245,18 @@ namespace Assets.Scenes.Ride.Scripts
public Quaternion currentRotation;
IEnumerator LookAtNextPos()
{
Quaternion neededRotation = Quaternion.LookRotation(prePos - nextPos);
//Quaternion thisRotation = character.transform.localRotation;
float t = 0;
while (t < 1.0f)
if (prePos != nextPos)
{
t += Time.deltaTime / 0.5f;
currentRotation = Quaternion.Slerp(thisRotation, neededRotation, t);
character.transform.rotation = Quaternion.Euler(0, currentRotation.eulerAngles.y, 0);
yield return null;
Quaternion neededRotation = Quaternion.LookRotation(prePos - nextPos);
float t = 0;
while (t < 1.0f)
{
t += Time.deltaTime / 0.5f;
currentRotation = Quaternion.Slerp(thisRotation, neededRotation, t);
character.transform.rotation = Quaternion.Euler(0, currentRotation.eulerAngles.y, 0);
yield return null;
}
}
}
Vector3 deltaPos = Vector3.zero;
@@ -285,13 +280,8 @@ namespace Assets.Scenes.Ride.Scripts
t += Time.deltaTime;
Vector3 v = Vector3.Lerp(prePos, nextPos, t);
//Vector3 nextPosition = new Vector3((float)Math.Round(v.x, 2), (float)Math.Round(v.y, 2), (float)Math.Round(v.z, 2));
//if (!nextPosition.Equals(transform.localPosition))
{
currentPos = v;
transform.localPosition = v;
//Camera.main.transform.localPosition = nextPosition;
}
currentPos = v;
transform.localPosition = v;
yield return new WaitForEndOfFrame();
}
}
@@ -23,6 +23,7 @@ namespace Assets.Scenes.Ride.Scripts
{
get {
var devices = AntConnector.Instance().discoveredDevices.Where(d => d.State == DeviceState.Connected && (d.Sensor == SensorType.Trainer));
_device = null;//重置设备状态
if (devices.Count() > 0)
{
_device = devices.OrderByDescending(d => d.Sensor == SensorType.Trainer).First();
+2
View File
@@ -29,6 +29,8 @@ namespace Assets.Scenes.Ride.Scripts
{
try
{
if (!Directory.Exists(srcPath))
return;
DirectoryInfo dir = new DirectoryInfo(srcPath);
FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
foreach (FileSystemInfo i in fileinfo)
@@ -23,6 +23,7 @@ namespace Assets.Scenes.Ride.Scripts
public PlayerController playerController;
GameObject _mipMapRoute;
public RectTransform RectRoot;//rawImage
TrailRenderer trail;
void Start()
{
cyclingCotroller = FindObjectOfType<CyclingController>();
@@ -44,7 +45,13 @@ namespace Assets.Scenes.Ride.Scripts
}
RectRoot = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
}
}
trail = transform.parent.Find("Sphere").GetComponent<TrailRenderer>();
trail.startWidth = 5f;
trail.endWidth = 5f;
trail.startColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 1f);
trail.endColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 1f);
}
float timer = 0;
private void Update()
{
@@ -52,9 +59,12 @@ namespace Assets.Scenes.Ride.Scripts
{
var tr = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap/arrow");
tr.SetSiblingIndex(9999);
_player.transform.localPosition = _map.GeoToWorldPosition(playerController.Currentlatlong);
var pos = _map.GeoToWorldPosition(playerController.Currentlatlong);
pos.y += 15f;
_player.transform.localPosition = pos;
Vector2 vp2 = _minicamera.WorldToViewportPoint(_player.transform.localPosition);//将三维物体的世界坐标转换为视口坐标
((RectTransform)tr.transform).anchoredPosition = new Vector2((vp2.x * RectRoot.sizeDelta.x) - (RectRoot.sizeDelta.x * 0.5f), (vp2.y * RectRoot.sizeDelta.y) - (RectRoot.sizeDelta.y * 0.5f));
trail.enabled = playerController.GetStart();
}
timer += Time.deltaTime;
@@ -81,7 +91,7 @@ namespace Assets.Scenes.Ride.Scripts
var point = mapData.List[i].Point;
Vector3 item = _map.GeoToWorldPosition(new Vector2d(point[0], point[1]));
item.y += 5f;
if (playerController.CurrentIndex >= i-1)
if (playerController.CurrentIndex >= i)
{
dat.Add(item);
}
@@ -35,6 +35,11 @@ namespace Assets.Scenes.Ride.Scripts
Vector2 vp2 = _minicamera.WorldToViewportPoint(transform.localPosition);//将三维物体的世界坐标转换为视口坐标
tr.anchoredPosition = new Vector2((vp2.x * RectRoot.sizeDelta.x) - (RectRoot.sizeDelta.x * 0.5f), (vp2.y * RectRoot.sizeDelta.y) - (RectRoot.sizeDelta.y * 0.5f));
}
else
{
DestroyImmediate(arrow);
//DestroyImmediate(gameObject);
}
t = 1;
}
}
@@ -41,7 +41,7 @@ namespace Assets.Scenes.Ride.Scripts
}
protected override bool GetStart()
public override bool GetStart()
{
return true;
}
@@ -50,6 +50,8 @@ namespace Assets.Scenes.Ride.Scripts
currentlatlong = mainController.Along(totalDistance);//下一个坐标
diff = Math.Round((totalDistance - _playerController.TotalDistance) * 1000, 0);
MoveHead(graph.transform);
}
double diff = 0;
public void SetDataSource(double _totalDistance, double _distance,string Name,double weightKg)
@@ -147,7 +149,7 @@ namespace Assets.Scenes.Ride.Scripts
public void RemoveSelf()
{
//headPanel?.SetActive(false);
arrowImage.gameObject.SetActive(false);
arrowImage.gameObject?.Destroy();
headPanel?.Destroy();
infoPanel?.Destroy();
transform.gameObject.Destroy();
@@ -159,7 +161,7 @@ namespace Assets.Scenes.Ride.Scripts
{
var playerScreenPos = Camera.main.WorldToScreenPoint(transform.position);
((RectTransform)arrowImage.transform).position = playerScreenPos;
MoveHead(graph.transform);
if (IsShowInfo)
{
ShowInfoPanel(playerScreenPos);
+18 -8
View File
@@ -43,16 +43,26 @@ namespace Assets.Scenes.Ride.Scripts
{
//计算数据
//speed = mainController.UpDateSpeed();
heartRate = mainController.UpDateHeart() ?? 0;
power = mainController.UpdatePower();
cadance = mainController.UpdateCadence();
weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight;
try
{
heartRate = mainController.UpDateHeart() ?? 0;
power = mainController.UpdatePower();
cadance = mainController.UpdateCadence();
weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight;
#if UNITY_EDITOR
System.Random rd = new System.Random();
power = 500; //rd.Next(150, 300);////测试功率
System.Random rd = new System.Random();
power = rd.Next(150, 300);//测试功率
#endif
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity / 100);
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity / 100);
}
catch (Exception)
{
heartRate = 0;
power = 0;
cadance = 0;
}
if (power > 0)
{
speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight);
+10 -9
View File
@@ -465,15 +465,16 @@ namespace Assets.Scenes.Ride.Scripts
public void StartRide(BaseEventData baseEventData)
{
var antConnected = mainController.CheckAnt();//初始化ant+设备
#if UNITY_EDITOR
antConnected = true;
#endif
if (!antConnected)
// var antConnected = mainController.CheckAnt();//初始化ant+设备
//#if UNITY_EDITOR
// antConnected = true;
//#endif
// if (!antConnected)
// {
// alertPanel.SetActive(true);
// }
// else
{
alertPanel.SetActive(true);
}
else {
//加个5秒钟倒计时
count = 5;
startPanel.SetActive(false);
@@ -562,7 +563,7 @@ namespace Assets.Scenes.Ride.Scripts
{
clearLock = true;
isSimple *= -1;
simpleBtn.transform.GetComponent<Image>().sprite = isSimple == -1 ? Resources.Load<Sprite>("Images/Ride/full") : Resources.Load<Sprite>("Images/Ride/simple");
simpleBtn.transform.GetComponent<Image>().sprite = isSimple == -1 ? Resources.Load<Sprite>("Images/Ride/full 1") : Resources.Load<Sprite>("Images/Ride/simple 1");
};
}