Files
XCharts/Runtime/Component/Vessel/VesselHelper.cs

36 lines
1.6 KiB
C#
Raw Normal View History

2020-07-06 08:41:28 +08:00
2021-11-23 13:20:07 +08:00
using System;
2020-07-06 08:41:28 +08:00
using System.Collections.Generic;
using UnityEngine;
namespace XCharts
{
2021-11-23 13:20:07 +08:00
internal static class VesselHelper
2020-07-06 08:41:28 +08:00
{
2021-11-23 13:20:07 +08:00
public static Color32 GetColor(Vessel vessel, Serie serie, ThemeStyle theme, List<string> legendRealShowName)
2020-07-06 08:41:28 +08:00
{
if (serie != null && vessel.autoColor)
{
2021-11-23 13:20:07 +08:00
var colorIndex = legendRealShowName.IndexOf(serie.serieName);
2021-01-11 08:54:28 +08:00
return SerieHelper.GetItemColor(serie, null, theme, colorIndex, false);
2020-07-06 08:41:28 +08:00
}
else
{
return vessel.color;
}
}
public static void UpdateVesselCenter(Vessel vessel, Vector3 chartPosition, float chartWidth, float chartHeight)
2020-07-06 08:41:28 +08:00
{
if (vessel.center.Length < 2) return;
var centerX = vessel.center[0] <= 1 ? chartWidth * vessel.center[0] : vessel.center[0];
var centerY = vessel.center[1] <= 1 ? chartHeight * vessel.center[1] : vessel.center[1];
var checkWidth = Mathf.Min(chartWidth, chartHeight);
2021-11-23 13:20:07 +08:00
vessel.context.center = chartPosition + new Vector3(centerX, centerY);
vessel.context.radius = ChartHelper.GetRuntimeRelativeOrAbsoluteValue(vessel.radius, checkWidth);
vessel.context.innerRadius = vessel.context.radius - vessel.shapeWidth - vessel.gap;
vessel.context.width = ChartHelper.GetRuntimeRelativeOrAbsoluteValue(vessel.width, checkWidth) - 2 * vessel.gap;
vessel.context.height = ChartHelper.GetRuntimeRelativeOrAbsoluteValue(vessel.height, chartHeight) - 2 * vessel.gap;
2020-07-06 08:41:28 +08:00
}
}
}