public void UpdateIndicator(PushRateTracker tracker) { float pushRate = tracker.GetCurrentPushRate(); if (pushRate <= tracker.maximumPushRate) { float percentage = (pushRate * 100) / tracker.maximumPushRate; float amountToApply = maxWidth * (percentage / 100); IndicatorRectTransform.sizeDelta = new Vector2(amountToApply, IndicatorRectTransform.rect.height); } else if (pushRate >= tracker.maximumPushRate) { IndicatorRectTransform.sizeDelta = new Vector2(maxWidth, IndicatorRectTransform.rect.height); } UpdateBarColor(tracker); }
private void UpdateBarColor(PushRateTracker tracker) { float minPercentage = (tracker.perfectRateMinimum * 100) / tracker.maximumPushRate; float minimumPerfectRateWidth = maxWidth * (minPercentage / 100); float maxPercentage = (tracker.perfectRateMaximum * 100) / tracker.maximumPushRate; float maximumPerfectRateWidth = maxWidth * (maxPercentage / 100); if (IndicatorRectTransform.sizeDelta.x < minimumPerfectRateWidth) { IndicatorImage.color = BelowPushRateColor; } else if (IndicatorRectTransform.sizeDelta.x >= minimumPerfectRateWidth && IndicatorRectTransform.sizeDelta.x <= maximumPerfectRateWidth) { IndicatorImage.color = WithinPushRateColor; } else if (IndicatorRectTransform.sizeDelta.x > maximumPerfectRateWidth) { IndicatorImage.color = AbovePushRateColor; } }