Kethane.UserInterface.OverlayRenderer.SetHeightMap C# (CSharp) Method

SetHeightMap() public method

public SetHeightMap ( float>.Func heightMap ) : void
heightMap float>.Func
return void
        public void SetHeightMap(Func<Cell, float> heightMap)
        {
            SetGridLevelAndHeightMap(gridLevel, heightMap);
        }

Usage Example

コード例 #1
0
ファイル: MapOverlay.cs プロジェクト: Majiir/Kethane
        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);
        }