public void UpdateRadar(Transform rotationReference, RadarModes radarType) { if (radarType == RadarModes.RotateRadar) { Radar.Radar.transform.rotation = Quaternion.Euler(Radar.Panel.transform.eulerAngles.x, Radar.Panel.transform.eulerAngles.y, rotationReference.eulerAngles.y); if (Radar.PlayerIndicator != null) { Radar.PlayerIndicator.transform.rotation = Radar.Panel.transform.rotation; } } else { Radar.Radar.transform.rotation = Radar.Panel.transform.rotation; if (Radar.PlayerIndicator != null) { Radar.PlayerIndicator.transform.rotation = Quaternion.Euler(Radar.Panel.transform.eulerAngles.x, Radar.Panel.transform.eulerAngles.y, -rotationReference.eulerAngles.y); } } }
/// <summary> /// Applies a new scene configuration. /// </summary> /// <param name="config">Scene Configuration.</param> public void ApplySceneConfiguration(HNSSceneConfiguration config) { if (config == null) { return; } // override radar settings if (config.overrideRadarSettings) { // radar usage changed? if (_HUDNavigationCanvas != null && this.useRadar != config.useRadar) { _HUDNavigationCanvas.ShowRadar(config.useRadar); } this.useRadar = config.useRadar; this.radarMode = config.radarMode; this.radarZoom = config.radarZoom; this.radarRadius = config.radarRadius; this.radarMaxRadius = config.radarMaxRadius; this.useRadarHeightSystem = config.useRadarHeightSystem; this.radarDistanceAbove = config.radarDistanceAbove; this.radarDistanceBelow = config.radarDistanceBelow; } // override compass bar settings if (config.overrideCompassBarSettings) { // compass bar usage changed? if (_HUDNavigationCanvas != null && this.useCompassBar != config.useCompassBar) { _HUDNavigationCanvas.ShowCompassBar(config.useCompassBar); } this.useCompassBar = config.useCompassBar; this.compassBarRadius = config.compassBarRadius; } // override indicator settings if (config.overrideIndicatorSettings) { // indicator usage changed? if (_HUDNavigationCanvas != null && this.useIndicators != config.useIndicators) { _HUDNavigationCanvas.ShowIndicators(config.useIndicators); } this.useIndicators = config.useIndicators; this.indicatorRadius = config.indicatorRadius; this.indicatorHideDistance = config.indicatorHideDistance; this.useOffscreenIndicators = config.useOffscreenIndicators; this.indicatorOffscreenBorder = config.indicatorOffscreenBorder; this.useIndicatorScaling = config.useIndicatorScaling; this.indicatorScaleRadius = config.indicatorScaleRadius; this.indicatorMinScale = config.indicatorMinScale; this.useIndicatorFading = config.useIndicatorFading; this.indicatorFadeRadius = config.indicatorFadeRadius; this.indicatorMinFade = config.indicatorMinFade; } // override minimap settings if (config.overrideMinimapSettings) { // assign new minimap profile if (this.currentMinimapProfile != config.minimapProfile) { this.currentMinimapProfile = config.minimapProfile; if (_HUDNavigationCanvas != null) { _HUDNavigationCanvas.SetMinimapProfile(this.currentMinimapProfile); } } // minimap usage changed? if (_HUDNavigationCanvas != null && this.useMinimap != config.useMinimap) { _HUDNavigationCanvas.ShowMinimap(config.useMinimap); } this.useMinimap = config.useMinimap; this.minimapMode = config.minimapMode; this.minimapScale = config.minimapScale; this.minimapRadius = config.minimapRadius; this.showMinimapBounds = config.showMinimapBounds; this.useMinimapHeightSystem = config.useMinimapHeightSystem; this.minimapDistanceAbove = config.minimapDistanceAbove; this.minimapDistanceBelow = config.minimapDistanceBelow; } }