public void Update()
{
if (HighLogic.LoadedScene != GameScenes.FLIGHT && HighLogic.LoadedScene != GameScenes.TRACKSTATION)
{
Destroy(gameObject);
return;
}
if (!MapView.MapIsEnabled || !ShowOverlay || MapView.MapCamera == null || KethaneData.Current == null)
{
overlayRenderer.IsVisible = false;
return;
}
overlayRenderer.IsVisible = true;
var target = MapView.MapCamera.target;
var newBody = getTargetBody(target);
var bodyChanged = (newBody != null) && (newBody != body);
if (bodyChanged)
{
body = newBody;
heightAt = getHeightRatioMap();
bounds = new BoundsMap(heightAt, KethaneData.GridLevel);
overlayRenderer.SetHeightMap(heightAt);
var radius = bodyRadii.ContainsKey(body) ? bodyRadii[body] : 1.025;
var parent = ScaledSpace.Instance.scaledSpaceTransforms.FirstOrDefault(t => t.name == body.name);
overlayRenderer.SetRadiusMultiplier((float)radius);
overlayRenderer.SetTarget(parent);
}
if (bodyChanged || resource == null || resource.Resource != SelectedResource)
{
resource = KethaneController.ResourceDefinitions.Where(r => r.Resource == SelectedResource).Single();
refreshCellColors();
}
var ray = MapView.MapCamera.camera.ScreenPointToRay(Input.mousePosition);
hoverCell = Cell.Raycast(ray, KethaneData.GridLevel, bounds, heightAt, gameObject.transform);
}