修复海拔图头像切换以及移动错位问题
This commit is contained in:
parent
65e7d9c4f4
commit
75900ccf3d
@ -669,7 +669,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 25.87, y: -25.5}
|
m_AnchoredPosition: {x: 25.87, y: -25.5}
|
||||||
m_SizeDelta: {x: 31.732483, y: 19}
|
m_SizeDelta: {x: 31.732483, y: 20}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &2602899783160591258
|
--- !u!222 &2602899783160591258
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@ -709,6 +709,6 @@ MonoBehaviour:
|
|||||||
m_AlignByGeometry: 0
|
m_AlignByGeometry: 0
|
||||||
m_RichText: 1
|
m_RichText: 1
|
||||||
m_HorizontalOverflow: 0
|
m_HorizontalOverflow: 0
|
||||||
m_VerticalOverflow: 0
|
m_VerticalOverflow: 1
|
||||||
m_LineSpacing: 1
|
m_LineSpacing: 1
|
||||||
m_Text: 111
|
m_Text: 111
|
||||||
|
|||||||
@ -742,7 +742,6 @@ GameObject:
|
|||||||
- component: {fileID: 4085630360285719622}
|
- component: {fileID: 4085630360285719622}
|
||||||
- component: {fileID: 4085630360285719621}
|
- component: {fileID: 4085630360285719621}
|
||||||
- component: {fileID: 4085630360285719623}
|
- component: {fileID: 4085630360285719623}
|
||||||
- component: {fileID: 8165744897097518677}
|
|
||||||
- component: {fileID: 6147895834536267412}
|
- component: {fileID: 6147895834536267412}
|
||||||
- component: {fileID: 1057269569260839362}
|
- component: {fileID: 1057269569260839362}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
@ -825,18 +824,6 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
radius: 10
|
radius: 10
|
||||||
--- !u!114 &8165744897097518677
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4085630360285719619}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: f822eddd7a641a744a198d79e43e3f55, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
--- !u!114 &6147895834536267412
|
--- !u!114 &6147895834536267412
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@ -11,7 +11,7 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
{
|
{
|
||||||
public class CompetitionRankingFactory : BaseListFactory
|
public class CompetitionRankingFactory : BaseListFactory
|
||||||
{
|
{
|
||||||
private bool isInit = false;
|
public bool isInit = false;
|
||||||
private bool isnext = false;
|
private bool isnext = false;
|
||||||
private List<CompetitionRankingSortModel> rankingList {get;set;}
|
private List<CompetitionRankingSortModel> rankingList {get;set;}
|
||||||
private AbstractPlayer currentPlayer { get; set; }
|
private AbstractPlayer currentPlayer { get; set; }
|
||||||
|
|||||||
@ -240,10 +240,11 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
protected virtual void Update()
|
protected virtual void Update()
|
||||||
{
|
{
|
||||||
time -= Time.deltaTime;
|
time -= Time.deltaTime;
|
||||||
while (time < 0) {
|
while (time < 0)
|
||||||
|
{
|
||||||
MoveElevationImage();
|
MoveElevationImage();
|
||||||
BindDataSource();
|
BindDataSource();
|
||||||
time = 1;
|
time += 1f;
|
||||||
}
|
}
|
||||||
MoveCamera();
|
MoveCamera();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,7 +40,6 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
current = current - targetPoints > 0? current - targetPoints : 0;
|
current = current - targetPoints > 0? current - targetPoints : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var ss = mData.Count - targetPoints;
|
|
||||||
var interval = currentIndex - current;
|
var interval = currentIndex - current;
|
||||||
int mid = (int)(graph.DataSource.HorizontalViewSize / 2);
|
int mid = (int)(graph.DataSource.HorizontalViewSize / 2);
|
||||||
//是否到达中间及以后的位置
|
//是否到达中间及以后的位置
|
||||||
@ -51,9 +50,19 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
{
|
{
|
||||||
current = current + interval- mid;
|
current = current + interval- mid;
|
||||||
}
|
}
|
||||||
|
if (isReachEnd)
|
||||||
|
{
|
||||||
|
current = mData.Count - targetPoints;
|
||||||
|
}
|
||||||
return current;
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double GetCurrentEnd(int currentIndex)
|
||||||
|
{
|
||||||
|
var start = GetCurrentStart(currentIndex);
|
||||||
|
return start + targetPoints;
|
||||||
|
}
|
||||||
|
|
||||||
public double GetRealTimeEnd()
|
public double GetRealTimeEnd()
|
||||||
{
|
{
|
||||||
return (graph.HorizontalScrolling+ graph.DataSource.HorizontalViewSize) / mData.Count();
|
return (graph.HorizontalScrolling+ graph.DataSource.HorizontalViewSize) / mData.Count();
|
||||||
|
|||||||
@ -438,6 +438,7 @@ public class CyclingController : DeviceServiceMonoBase
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Utils.DestroyChildren(selectedPlayer.transform);
|
||||||
var ss = Instantiate(onlineUserPrefab3d, selectedPlayer.transform);
|
var ss = Instantiate(onlineUserPrefab3d, selectedPlayer.transform);
|
||||||
ss.transform.localScale = Is3dView ? MAX_SIZE : MIN_SIZE;
|
ss.transform.localScale = Is3dView ? MAX_SIZE : MIN_SIZE;
|
||||||
}
|
}
|
||||||
@ -571,10 +572,15 @@ public class CyclingController : DeviceServiceMonoBase
|
|||||||
currentUser.SetDataSource(onlineTotalDistance, onlineDistance, onlineRider.Power, onlineRider.HeartRate, onlineRider.Cadence, onlineRider.TotalTicks, onlineRider.NickName, onlineRider.WeightKg, new Vector2d(onlineRider.Point.Latitude, onlineRider.Point.Longitude), index);
|
currentUser.SetDataSource(onlineTotalDistance, onlineDistance, onlineRider.Power, onlineRider.HeartRate, onlineRider.Cadence, onlineRider.TotalTicks, onlineRider.NickName, onlineRider.WeightKg, new Vector2d(onlineRider.Point.Latitude, onlineRider.Point.Longitude), index);
|
||||||
}
|
}
|
||||||
//如果是观察者且当前第一此进入场景(TODO:这样切换会闪一下待解决)
|
//如果是观察者且当前第一此进入场景(TODO:这样切换会闪一下待解决)
|
||||||
if (isWatch && currentPlayer is PlayerController)
|
if (isWatch && (currentPlayer is PlayerController || currentPlayer == null))
|
||||||
{
|
{
|
||||||
var userId = onlineRiders.FirstOrDefault()?.UserId??0;
|
var userId = onlineRiders.FirstOrDefault()?.UserId ?? 0;
|
||||||
ChangeCurrentPlayer(userId);
|
ChangeCurrentPlayer(userId);
|
||||||
|
var competitionRankingFactory = FindObjectOfType<CompetitionRankingFactory>();
|
||||||
|
if (competitionRankingFactory != null)
|
||||||
|
{
|
||||||
|
competitionRankingFactory.isInit = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//显示观察者头像
|
//显示观察者头像
|
||||||
}
|
}
|
||||||
@ -875,6 +881,10 @@ public class CyclingController : DeviceServiceMonoBase
|
|||||||
int index = 0;
|
int index = 0;
|
||||||
var pointList = mapData.List;
|
var pointList = mapData.List;
|
||||||
double sumDistance = 0;
|
double sumDistance = 0;
|
||||||
|
if (endDistance >= mapData.TotalDistance)
|
||||||
|
{
|
||||||
|
return pointList.Count - 1;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < pointList.Count; i++)
|
for (int i = 0; i < pointList.Count; i++)
|
||||||
{
|
{
|
||||||
@ -887,7 +897,7 @@ public class CyclingController : DeviceServiceMonoBase
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
index = endDistance >= mapData.TotalDistance ? index + 1 : index;
|
index = endDistance >= mapData.TotalDistance ? pointList.Count - 1 : index;
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
public Vector2d Along(double endDistance)
|
public Vector2d Along(double endDistance)
|
||||||
|
|||||||
@ -188,9 +188,9 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
{
|
{
|
||||||
trailRenderer?.Destroy();
|
trailRenderer?.Destroy();
|
||||||
}
|
}
|
||||||
|
var rect = ((RectTransform)arrowImage.transform);
|
||||||
|
rect.position = new Vector3(playerScreenPos.x, playerScreenPos.y, 0);
|
||||||
|
|
||||||
((RectTransform)arrowImage.transform).position = playerScreenPos;
|
|
||||||
|
|
||||||
if (IsShowInfo)
|
if (IsShowInfo)
|
||||||
{
|
{
|
||||||
ShowInfoPanel(playerScreenPos);
|
ShowInfoPanel(playerScreenPos);
|
||||||
@ -251,52 +251,42 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
private double horizontalScrolling { get; set; }
|
private double horizontalScrolling { get; set; }
|
||||||
private void MoveHead()
|
private void MoveHead()
|
||||||
{
|
{
|
||||||
var itemIndex = chartDataSourceScript.GetViewIndex(CurrentIndex);
|
|
||||||
var m = graph.DataSource.GetPoint("Player 2", itemIndex);
|
|
||||||
|
|
||||||
graph.PointToWorldSpace(out Vector3 itemPosition, m.x, m.y, "Player 2");
|
|
||||||
itemPosition.x -= 12f;
|
|
||||||
itemPosition.y += 5f;
|
|
||||||
|
|
||||||
if (headPanel == null)
|
if (headPanel == null)
|
||||||
{
|
{
|
||||||
var onlineHeadPanel = mainController.GetOnlineheadPanel();
|
var onlineHeadPanel = mainController.GetOnlineheadPanel();
|
||||||
headPanel = Instantiate(onlineHeadPanel);
|
headPanel = Instantiate(onlineHeadPanel);
|
||||||
headPanel.transform.SetParent(graph.transform);
|
headPanel.transform.SetParent(graph.transform);
|
||||||
headPanel.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
|
headPanel.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
|
||||||
headPanel.transform.position = itemPosition;
|
|
||||||
}
|
}
|
||||||
else
|
if (CurrentIndex == 1)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
int nextIndex = CurrentIndex;
|
||||||
|
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
|
||||||
|
//人物移动 停止条件 到中间且线未加载完
|
||||||
|
if (GetStart() && chartDataSourceScript.ReachMid(viewIndex) && !chartDataSourceScript.ReachEnd())
|
||||||
{
|
{
|
||||||
//if (UserId != mainController.currentPlayer.UserId)
|
var currentDistance = CurrentDistance;
|
||||||
//{
|
var distance = Distance;
|
||||||
// headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
|
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
|
||||||
//}
|
//horizontalScrolling += offset;
|
||||||
//else
|
if (UserId == mainController.currentPlayer.UserId)
|
||||||
{
|
{
|
||||||
int nextIndex = CurrentIndex;
|
graph.HorizontalScrolling += offset;
|
||||||
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
|
|
||||||
//人物移动 停止条件 到中间且线未加载完
|
|
||||||
if (GetStart() && chartDataSourceScript.ReachMid(viewIndex) && !chartDataSourceScript.ReachEnd())
|
|
||||||
{
|
|
||||||
var currentDistance = CurrentDistance;
|
|
||||||
var distance = Distance;
|
|
||||||
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
|
|
||||||
horizontalScrolling += offset;
|
|
||||||
if (UserId == mainController.currentPlayer.UserId)
|
|
||||||
{
|
|
||||||
graph.HorizontalScrolling = horizontalScrolling;
|
|
||||||
}
|
|
||||||
headPanel.transform.position = new Vector3(headPanel.transform.position.x, itemPosition.y, 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
|
|
||||||
//headPanel.transform.DOMove(new Vector3(nextPosition.x, nextPosition.y, 0), 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//headPanel.transform.DOMove(new Vector3(itemPosition.x, itemPosition.y, 0), 1);
|
|
||||||
}
|
}
|
||||||
|
//设定当前头像位置
|
||||||
|
var m = graph.DataSource.GetPoint("Player 2", viewIndex);
|
||||||
|
graph.PointToWorldSpace(out Vector3 itemPosition, m.x, m.y, "Player 2");
|
||||||
|
itemPosition.x -= 12f;
|
||||||
|
itemPosition.y += 5f;
|
||||||
|
headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
|
||||||
|
//超出边界隐藏
|
||||||
|
var start = graph.HorizontalScrolling;
|
||||||
|
var end = graph.HorizontalScrolling + graph.DataSource.HorizontalViewSize;
|
||||||
|
headPanel.SetActive( viewIndex >= start && viewIndex <= end);
|
||||||
|
//显示头像
|
||||||
if (head == null)
|
if (head == null)
|
||||||
{
|
{
|
||||||
head = headPanel.transform.Find("Head").GetComponent<RawImage>();
|
head = headPanel.transform.Find("Head").GetComponent<RawImage>();
|
||||||
@ -319,6 +309,7 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
//如果切换到当前用户,当前用户头像变大,并且只显示当前用户
|
//如果切换到当前用户,当前用户头像变大,并且只显示当前用户
|
||||||
if (mainController.currentPlayer.UserId == UserId)
|
if (mainController.currentPlayer.UserId == UserId)
|
||||||
{
|
{
|
||||||
|
headPanel.transform.SetAsLastSibling();
|
||||||
head.gameObject.SetActive(true);
|
head.gameObject.SetActive(true);
|
||||||
headPanel.GetComponent<Image>().color = blue;
|
headPanel.GetComponent<Image>().color = blue;
|
||||||
rect.DOScale(new Vector3(1.2f, 1.2f, 1.2f), 0.5f);
|
rect.DOScale(new Vector3(1.2f, 1.2f, 1.2f), 0.5f);
|
||||||
|
|||||||
@ -161,7 +161,7 @@ namespace Assets.Scenes.Ride.Scripts
|
|||||||
headPanel.transform.position = new Vector3(nextPosition.x, nextPosition.y, 0);
|
headPanel.transform.position = new Vector3(nextPosition.x, nextPosition.y, 0);
|
||||||
//headPanel.transform.DOMove(new Vector3(nextPosition.x, nextPosition.y, 0), 1);
|
//headPanel.transform.DOMove(new Vector3(nextPosition.x, nextPosition.y, 0), 1);
|
||||||
}
|
}
|
||||||
headPanel.transform.SetSiblingIndex(999);
|
headPanel.transform.SetAsLastSibling();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IEnumerator MoveTo()
|
protected override IEnumerator MoveTo()
|
||||||
|
|||||||
@ -40,6 +40,7 @@ public class RaceItemScript : MonoBehaviour, IPointerExitHandler, IPointerEnterH
|
|||||||
}
|
}
|
||||||
public void Initial(MapCompetition mapCompetition,Transform parent,string from = "list")
|
public void Initial(MapCompetition mapCompetition,Transform parent,string from = "list")
|
||||||
{
|
{
|
||||||
|
transform.GetComponent<Button>().onClick.RemoveAllListeners();
|
||||||
#if !(UNITY_ANDROID || UNITY_IOS)
|
#if !(UNITY_ANDROID || UNITY_IOS)
|
||||||
transform.GetComponent<Button>().onClick.AddListener(() =>
|
transform.GetComponent<Button>().onClick.AddListener(() =>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -78,7 +78,7 @@ public class LocalRouteItem : MonoBehaviour, IPointerExitHandler, IPointerEnterH
|
|||||||
}
|
}
|
||||||
|
|
||||||
Name.text = record.RouteName;
|
Name.text = record.RouteName;
|
||||||
Time.text = record.StartTime.ToString();
|
Time.text = record.StartTime.ToString("HH:mm:ss dd-MM-yyyy");
|
||||||
RidingTime.text = $"<color={titleColor}>Riding time:</color>{Helper.FormatTicks(record.Ticks)}";
|
RidingTime.text = $"<color={titleColor}>Riding time:</color>{Helper.FormatTicks(record.Ticks)}";
|
||||||
RidingDistance.text = $"<color={titleColor}>Mileage:</color>{record.EndDistance.ToString("#0.00")}KM";
|
RidingDistance.text = $"<color={titleColor}>Mileage:</color>{record.EndDistance.ToString("#0.00")}KM";
|
||||||
Device.text = $"<color={titleColor}>Cycling equipment:</color>{record.ManufacturerName}";
|
Device.text = $"<color={titleColor}>Cycling equipment:</color>{record.ManufacturerName}";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user