/*--------------------------------------------------------------------------------------------*/ private void TryUpdateColor(HoverMesh pHoverMesh) { Controllers.Set(SettingsControllerMap.MeshColors, this); vCurrColor = GetDisplayColor(pHoverMesh); if (FlashColorMilliseconds > 0) { TimeSpan test = DateTime.UtcNow - GetComponent <HoverIndicator>().LatestSelectionTime; if (test.TotalMilliseconds < FlashColorMilliseconds) { vCurrColor = Color.Lerp(FlashColor, vCurrColor, (float)test.TotalMilliseconds / FlashColorMilliseconds); } } if (!pHoverMesh.DidRebuildMesh && Alpha == vPrevAlpha && vCurrColor == vPrevColor) { return; } Color colorForAllVertices = DisplayUtil.FadeColor(vCurrColor, Alpha); pHoverMesh.Builder.CommitColors(colorForAllVertices); }
/*--------------------------------------------------------------------------------------------*/ private void UpdateTrackColor(Color pColor) { HoverFillSlider fill = GetComponentInChildren <HoverFillSlider>(); Color fadedColor = DisplayUtil.FadeColor(pColor, 0.25f); UpdateTrackSegmentColor(fill.SegmentA, fadedColor); UpdateTrackSegmentColor(fill.SegmentB, fadedColor); UpdateTrackSegmentColor(fill.SegmentC, fadedColor); UpdateTrackSegmentColor(fill.SegmentD, fadedColor); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private void SetTheme(Theme pTheme) { HoverFillButton[] buttonFills = GetComponentsInChildren <HoverFillButton>(true); HoverFillSlider[] sliderFills = GetComponentsInChildren <HoverFillSlider>(true); HoverCanvas[] canvases = GetComponentsInChildren <HoverCanvas>(true); Color fadeBgCol = DisplayUtil.FadeColor(pTheme.BackgroundColor, vCurrBgAlpha); Color fadeTrackCol = DisplayUtil.FadeColor(pTheme.SliderTrackColor, vCurrBgAlpha); foreach (HoverFillButton fill in buttonFills) { SetMeshColors(fill.Background, fadeBgCol, pTheme.FlashColor); SetMeshColors(fill.Highlight, pTheme.HighlightColor, pTheme.FlashColor); SetMeshColors(fill.Selection, pTheme.SelectionColor, pTheme.FlashColor); SetMeshColors(fill.Edge, pTheme.EdgeColor, pTheme.FlashColor); } foreach (HoverFillSlider fill in sliderFills) { SetMeshColors(fill.SegmentA, fadeTrackCol, pTheme.FlashColor, pTheme.SliderFillColor); SetMeshColors(fill.SegmentB, fadeTrackCol, pTheme.FlashColor, pTheme.SliderFillColor); SetMeshColors(fill.SegmentC, fadeTrackCol, pTheme.FlashColor, pTheme.SliderFillColor); SetMeshColors(fill.SegmentD, fadeTrackCol, pTheme.FlashColor, pTheme.SliderFillColor); foreach (HoverMesh tickMesh in fill.Ticks) { SetMeshColors(tickMesh, pTheme.SliderTickColor, pTheme.FlashColor); } } foreach (HoverCanvas canvas in canvases) { canvas.Label.TextComponent.color = pTheme.TextColor; //canvas.IconInner.ImageComponent.color = pTheme.IconColor; //canvas.IconOuter.ImageComponent.color = pTheme.IconColor; //get all icons, including custom ones (like the Hovercast "open" button) RawImage[] iconImages = canvas.GetComponentsInChildren <RawImage>(true); foreach (RawImage iconImage in iconImages) { iconImage.color = pTheme.IconColor; } } vCurrTheme = pTheme; }