public static void SetIndicatorSprite(this HUDNavigationElement element, Sprite sharedOffscreenSprite, bool offscreen = false) { if (element.Indicator == null) { return; } // get indicator icon settings IconSettings iconSettings = element.IndicatorIcon; if (offscreen) { iconSettings = element.OffscreenIndicatorIcon; } // get new indicator sprite Sprite newSprite = (iconSettings.OverrideIcon != null) ? iconSettings.OverrideIcon : element.Icon; if (offscreen && iconSettings.OverrideIcon == null) { newSprite = sharedOffscreenSprite; } // set new indicator sprite if (element.Indicator.sprite != newSprite) { element.Indicator.sprite = newSprite; } // set indicator size and color element.Indicator.rectTransform.sizeDelta = Vector2.one * iconSettings.IconSize; element.Indicator.color = iconSettings.IconColor; }
void InitializeSettings() { if (Settings == null) { return; } // icon settings this.Icon = Settings.Icon; this.RadarIcon = Settings.RadarIcon; this.CompassBarIcon = Settings.CompassBarIcon; this.IndicatorIcon = Settings.IndicatorIcon; this.OffscreenIndicatorIcon = Settings.OffscreenIndicatorIcon; // radar settings this.HideInRadar = Settings.HideInRadar; // compass bar settings this.HideInCompassBar = Settings.HideInCompassBar; this.IgnoreCompassBarRadius = Settings.IgnoreCompassBarRadius; // indicator settings this.ShowIndicator = Settings.ShowIndicator; this.IgnoreIndicatorRadius = Settings.IgnoreIndicatorRadius; this.IndicatorOffset = Settings.IndicatorOffset; }