graph chart引入&骑行结果弹窗

This commit is contained in:
lishuo committed 2021-04-22 19:29:59 +08:00
1 parent 40d118cea3
commit 96f3644b5b
2374 files changed
+485161 -2410

No files matched your search

+71 -22
View File
@@ -143,8 +143,12 @@ namespace Assets.Scenes.Ride.Scripts
UIManager.AddEvent(cancelQuitButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, CancelQuit);
UIManager.AddEvent(closeQuitButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, CloseQuit);
UIManager.AddEvent(viewButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, ChangeView);
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, OnPointEnter);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, OnPointEnter);
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
//startBtn.onClick.AddListener(StartRide);
//simpleBtn.onClick.AddListener(ClearPanel);
//pauseButton.onClick.AddListener(PauseRide);
@@ -160,6 +164,29 @@ namespace Assets.Scenes.Ride.Scripts
#endregion
}
float? localY;
void OnPointEnter(BaseEventData pointerEventData)
{
var button = ((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
if (button != null)
{
var enterTransform = button.transform;
if (localY == null)
{
localY = enterTransform.localPosition.y;
}
enterTransform.DOLocalMoveY(localY.Value + 5f, 0.5f);
}
}
void OnPointExit(BaseEventData pointerEventData)
{
var button =((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
if (button != null)
{
var enterTransform = button.transform;
enterTransform.DOLocalMoveY(localY.Value, 0.5f);
}
}
void Start()
{
playerController = FindObjectOfType<PlayerController>();
@@ -293,13 +320,16 @@ namespace Assets.Scenes.Ride.Scripts
}
private void SaveRide(BaseEventData baseEventData)
{
mainController.SetQuit();
if (playerController.TotalTicks > 0 && !mainController.isQuit )
{
mainController.SetQuit();
playerController.Upload();
quitPanel.SetActive(false);
}
SceneManager.LoadScene("MainScene");
else
{
SceneManager.LoadScene("MainScene");
}
}
private void CancelQuit(BaseEventData baseEventData)
{
@@ -367,35 +397,54 @@ namespace Assets.Scenes.Ride.Scripts
//初始化海拔图
void RenderChart()
{
elevationChart.ClearData();
elevationList = mainController.GetLineChartData();
totalCount = elevationList.Length;
maxCacheDataNumber = Math.Min(totalCount, maxCacheDataNumber);
elevationChart.SetMaxCache(maxCacheDataNumber);
//elevationChart.ClearData();
//elevationList = mainController.GetLineChartData();
//totalCount = elevationList.Length;
//maxCacheDataNumber = Math.Min(totalCount, maxCacheDataNumber);
//elevationChart.SetMaxCache(maxCacheDataNumber);
////for (int i = 0; i < maxCacheDataNumber; i++)
////{
//// elevationChart.AddData(0, elevationList[i]);
////}
////elevationChart.RefreshChart();
//ElevationToScreenPoint();
//var endIndex = playerController.CurrentIndex;
//var s = endIndex / maxCacheDataNumber;
//var v = endIndex % maxCacheDataNumber;
//maxCacheDataNumber = Math.Min(totalCount-s* maxCacheDataNumber, maxCacheDataNumber);
//for (int i = 0; i < maxCacheDataNumber; i++)
//{
// elevationChart.AddData(0, elevationList[i]);
// initCount++;
// if (initCount > maxCacheDataNumber) break;
// AddOneData(s * maxCacheDataNumber + v + i);
//}
//elevationChart.RefreshChart();
ElevationToScreenPoint();
var endIndex = playerController.CurrentIndex;
var s = endIndex / maxCacheDataNumber;
var v = endIndex % maxCacheDataNumber;
maxCacheDataNumber = Math.Min(totalCount-s* maxCacheDataNumber, maxCacheDataNumber);
for (int i = 0; i < maxCacheDataNumber; i++)
//elevationChart.RefreshChart();
var mapData = mainController.GetMapData();
double x = 0;
Dictionary<double, double> dataSource = new Dictionary<double, double>();
List<double> dd = new List<double>();
var one = mapData.List.Where(c => c.Distance == 0).Count();
foreach (var item in mapData.List)
{
initCount++;
if (initCount > maxCacheDataNumber) break;
AddOneData(s * maxCacheDataNumber + v + i);
x += item.Distance;
if (!dataSource.ContainsKey(x))
{
dataSource.Add(x, item.Elevation);
}
dd.Add(item.Elevation);
}
elevationChart.RefreshChart();
var sc = transform.Find("Panel/GraphChart").GetComponent<ChartDataSourceScript>();
sc.SetDataSource(dd.ToArray());
if (App.CurrentUser != null)
{
Utils.DisplayImage(StartCoroutine, img, App.CurrentUser.WxHeadImg);
}
}
//长路线动态更新chart
private int initCount;