继续骑行海图初始位置,地图属性调整

This commit is contained in:
lishuo committed 2021-05-24 10:16:35 +08:00
1 parent 724e43f392
commit 3757ae6e6c
10 files changed
+3279 -3274

No files matched your search

+6 -65
View File
@@ -245,7 +245,7 @@ namespace Assets.Scenes.Ride.Scripts
{
time -= Time.deltaTime;
while (time < 0) {
MoveChartMarkPoint();
MoveElevationImage();
BindDataSource();
fps.text = (1 / Time.deltaTime).ToString();
time = 1;
@@ -266,7 +266,7 @@ namespace Assets.Scenes.Ride.Scripts
player = transform.parent.Find("Player");
var route = mainController.GetRoute();
routeInstance = route.RouteInstance;
mapName.text = routeInstance.Name;
//初始化3d视角
var camera = routeInstance.Camera;
if (!string.IsNullOrEmpty(camera))
{
@@ -275,9 +275,11 @@ namespace Assets.Scenes.Ride.Scripts
cameraY = float.Parse(cameraArr[1]);
cameraZ = float.Parse(cameraArr[2]);
}
//路书基本信息绑定
mapName.text = routeInstance.Name;
totalDistance.text = Math.Round(mainController.GetMapData().TotalDistance, 1).ToString() + "KM";//总里程
Utils.DisplayImage(altitudeGraph, route.RouteInstance.AltitudeGraph);//渲染海拔图
//影子骑行按钮控制
if (mainController.mapRouteRankingList == null || mainController.mapRouteRankingList.Count == 0)
{
shadowButton.image.sprite = Resources.Load<Sprite>("Images/Ride/Shadow Mode_no");
@@ -289,7 +291,6 @@ namespace Assets.Scenes.Ride.Scripts
shadowButton.enabled = true;
shadowButton.interactable = true;
}
//标记3d的地图可以用
if (!route.RouteInstance.Enable3D)
{
@@ -450,7 +451,6 @@ namespace Assets.Scenes.Ride.Scripts
}
private void ShadowRide(BaseEventData baseEventData)
{
//mainController.SetCyclingModel(CyclingModel.Review);
selectPanel.SetActive(false);
//显示影子选手骑行列表
selectPlayer.SetActive(true);
@@ -581,11 +581,11 @@ namespace Assets.Scenes.Ride.Scripts
var one = mapData.List.Where(c => c.Distance == 0).Count();
foreach (var item in mapData.List)
{
x += item.Distance;
if (!dataSource.ContainsKey(x))
{
dataSource.Add(x, item.Elevation);
}
x += item.Distance;
dd.Add(item.Elevation);
}
chartDataSourceScript = transform.Find("Panel/GraphChart").GetComponent<ChartDataSourceScript>();
@@ -598,64 +598,6 @@ namespace Assets.Scenes.Ride.Scripts
}
}
void MoveChartMarkPoint()
{
//if (mainController.isStart)
{
MoverCurrentUserHead();
MoveOtherHeads();
MoveElevationImage();
}
}
//移动当前用户头像
private void MoverCurrentUserHead()
{
Vector3 prePos = headPanel.transform.position;
int nextIndex = playerController.CurrentIndex + 1;
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit ||(mainController.isStart && playerController.TotalDistance == 0))//未开始未暂停未结束
{
viewIndex = 0;
}
var n = graph.DataSource.GetPoint("Player 2", viewIndex);
graph.PointToWorldSpace(out Vector3 nextPosition, n.x, n.y, "Player 2");
nextPosition.x -= 14f;
nextPosition.y += 5f;
//人物移动 停止条件 到中间且线未加载完
if (chartDataSourceScript.ReachMid(viewIndex) && !chartDataSourceScript.ReachEnd())
{
var currentDistance = playerController.CurrentDistance;
var distance = playerController.Distance;
var offset = currentDistance > 0 ? distance * 1000 / currentDistance : 1;
graph.HorizontalScrolling += offset;
headPanel.transform.DOMove(new Vector3(prePos.x, nextPosition.y, 0), 1);
}
else
{
headPanel.transform.DOMove(new Vector3(nextPosition.x , nextPosition.y, 0), 1);
}
headPanel.transform.SetSiblingIndex(999);
}
//移动其他骑手头像
private void MoveOtherHeads()
{
var others = FindObjectsOfType<OtherPlayerController>();
foreach (var item in others)
{
var itemIndex = chartDataSourceScript.GetViewIndex(item.CurrentIndex) + 1;
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit || (mainController.isStart && item.TotalDistance == 0))//未开始未暂停未结束
{
itemIndex = 0;
}
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;
item.MoveHead(graph.transform, itemPosition);
}
}
//移动总海拔图范围
private void MoveElevationImage()
{
@@ -668,7 +610,6 @@ namespace Assets.Scenes.Ride.Scripts
}
else
{
//var m = Screen.width / 1600D;
var start = chartDataSourceScript.GetRealTimeStart();
var end = chartDataSourceScript.GetRealTimeEnd();