修复海拔图头像切换以及移动错位问题
This commit is contained in:
parent
65e7d9c4f4
commit
75900ccf3d
@ -669,7 +669,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
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}
|
||||
--- !u!222 &2602899783160591258
|
||||
CanvasRenderer:
|
||||
@ -709,6 +709,6 @@ MonoBehaviour:
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: 111
|
||||
|
||||
@ -742,7 +742,6 @@ GameObject:
|
||||
- component: {fileID: 4085630360285719622}
|
||||
- component: {fileID: 4085630360285719621}
|
||||
- component: {fileID: 4085630360285719623}
|
||||
- component: {fileID: 8165744897097518677}
|
||||
- component: {fileID: 6147895834536267412}
|
||||
- component: {fileID: 1057269569260839362}
|
||||
m_Layer: 5
|
||||
@ -825,18 +824,6 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
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
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -11,7 +11,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
public class CompetitionRankingFactory : BaseListFactory
|
||||
{
|
||||
private bool isInit = false;
|
||||
public bool isInit = false;
|
||||
private bool isnext = false;
|
||||
private List<CompetitionRankingSortModel> rankingList {get;set;}
|
||||
private AbstractPlayer currentPlayer { get; set; }
|
||||
|
||||
@ -240,10 +240,11 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
protected virtual void Update()
|
||||
{
|
||||
time -= Time.deltaTime;
|
||||
while (time < 0) {
|
||||
while (time < 0)
|
||||
{
|
||||
MoveElevationImage();
|
||||
BindDataSource();
|
||||
time = 1;
|
||||
time += 1f;
|
||||
}
|
||||
MoveCamera();
|
||||
}
|
||||
|
||||
@ -40,7 +40,6 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
current = current - targetPoints > 0? current - targetPoints : 0;
|
||||
}
|
||||
|
||||
var ss = mData.Count - targetPoints;
|
||||
var interval = currentIndex - current;
|
||||
int mid = (int)(graph.DataSource.HorizontalViewSize / 2);
|
||||
//是否到达中间及以后的位置
|
||||
@ -51,9 +50,19 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
current = current + interval- mid;
|
||||
}
|
||||
if (isReachEnd)
|
||||
{
|
||||
current = mData.Count - targetPoints;
|
||||
}
|
||||
return current;
|
||||
}
|
||||
|
||||
public double GetCurrentEnd(int currentIndex)
|
||||
{
|
||||
var start = GetCurrentStart(currentIndex);
|
||||
return start + targetPoints;
|
||||
}
|
||||
|
||||
public double GetRealTimeEnd()
|
||||
{
|
||||
return (graph.HorizontalScrolling+ graph.DataSource.HorizontalViewSize) / mData.Count();
|
||||
|
||||
@ -438,6 +438,7 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.DestroyChildren(selectedPlayer.transform);
|
||||
var ss = Instantiate(onlineUserPrefab3d, selectedPlayer.transform);
|
||||
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);
|
||||
}
|
||||
//如果是观察者且当前第一此进入场景(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);
|
||||
var competitionRankingFactory = FindObjectOfType<CompetitionRankingFactory>();
|
||||
if (competitionRankingFactory != null)
|
||||
{
|
||||
competitionRankingFactory.isInit = false;
|
||||
}
|
||||
}
|
||||
//显示观察者头像
|
||||
}
|
||||
@ -875,6 +881,10 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
int index = 0;
|
||||
var pointList = mapData.List;
|
||||
double sumDistance = 0;
|
||||
if (endDistance >= mapData.TotalDistance)
|
||||
{
|
||||
return pointList.Count - 1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < pointList.Count; i++)
|
||||
{
|
||||
@ -887,7 +897,7 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
break;
|
||||
}
|
||||
}
|
||||
index = endDistance >= mapData.TotalDistance ? index + 1 : index;
|
||||
index = endDistance >= mapData.TotalDistance ? pointList.Count - 1 : index;
|
||||
return index;
|
||||
}
|
||||
public Vector2d Along(double endDistance)
|
||||
|
||||
@ -188,9 +188,9 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
trailRenderer?.Destroy();
|
||||
}
|
||||
var rect = ((RectTransform)arrowImage.transform);
|
||||
rect.position = new Vector3(playerScreenPos.x, playerScreenPos.y, 0);
|
||||
|
||||
((RectTransform)arrowImage.transform).position = playerScreenPos;
|
||||
|
||||
if (IsShowInfo)
|
||||
{
|
||||
ShowInfoPanel(playerScreenPos);
|
||||
@ -251,52 +251,42 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
private double horizontalScrolling { get; set; }
|
||||
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)
|
||||
{
|
||||
var onlineHeadPanel = mainController.GetOnlineheadPanel();
|
||||
headPanel = Instantiate(onlineHeadPanel);
|
||||
headPanel.transform.SetParent(graph.transform);
|
||||
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)
|
||||
//{
|
||||
// headPanel.transform.position = new Vector3(itemPosition.x, itemPosition.y, 0);
|
||||
//}
|
||||
//else
|
||||
var currentDistance = CurrentDistance;
|
||||
var distance = Distance;
|
||||
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
|
||||
//horizontalScrolling += offset;
|
||||
if (UserId == mainController.currentPlayer.UserId)
|
||||
{
|
||||
int nextIndex = CurrentIndex;
|
||||
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);
|
||||
}
|
||||
graph.HorizontalScrolling += offset;
|
||||
}
|
||||
//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)
|
||||
{
|
||||
head = headPanel.transform.Find("Head").GetComponent<RawImage>();
|
||||
@ -319,6 +309,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
//如果切换到当前用户,当前用户头像变大,并且只显示当前用户
|
||||
if (mainController.currentPlayer.UserId == UserId)
|
||||
{
|
||||
headPanel.transform.SetAsLastSibling();
|
||||
head.gameObject.SetActive(true);
|
||||
headPanel.GetComponent<Image>().color = blue;
|
||||
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.DOMove(new Vector3(nextPosition.x, nextPosition.y, 0), 1);
|
||||
}
|
||||
headPanel.transform.SetSiblingIndex(999);
|
||||
headPanel.transform.SetAsLastSibling();
|
||||
}
|
||||
|
||||
protected override IEnumerator MoveTo()
|
||||
|
||||
@ -40,6 +40,7 @@ public class RaceItemScript : MonoBehaviour, IPointerExitHandler, IPointerEnterH
|
||||
}
|
||||
public void Initial(MapCompetition mapCompetition,Transform parent,string from = "list")
|
||||
{
|
||||
transform.GetComponent<Button>().onClick.RemoveAllListeners();
|
||||
#if !(UNITY_ANDROID || UNITY_IOS)
|
||||
transform.GetComponent<Button>().onClick.AddListener(() =>
|
||||
{
|
||||
|
||||
@ -78,7 +78,7 @@ public class LocalRouteItem : MonoBehaviour, IPointerExitHandler, IPointerEnterH
|
||||
}
|
||||
|
||||
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)}";
|
||||
RidingDistance.text = $"<color={titleColor}>Mileage:</color>{record.EndDistance.ToString("#0.00")}KM";
|
||||
Device.text = $"<color={titleColor}>Cycling equipment:</color>{record.ManufacturerName}";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user