void FixedUpdate() { if (stripStatus == StripStatus.filling) { fillPercentage += fillSpeed; fillPercentage = Mathf.Clamp(fillPercentage, 0f, 1f); mat.SetFloat("_Fillpercentage", fillPercentage); if (fillPercentage >= 1f) { stripStatus = StripStatus.filled; rainbowController.reportFilled(); } } else if (stripStatus == StripStatus.shrinking) { scale.Scale(Vector3.one * (1 - scaleAmount)); scale = new Vector3(Mathf.Clamp(scale.x, 0f, initialScale.x), Mathf.Clamp(scale.y, 0f, initialScale.y), Mathf.Clamp(scale.z, 0f, initialScale.z)); transform.localScale = scale; mat.SetFloat("_Globalopacity", scale.x / initialScale.x); if (Vector3.Magnitude(scale) < scaleThreshold) { stripStatus = StripStatus.waiting; rainbowController.reportShrunk(); } } }
void Start() { fillSpeed /= 1000; mat = GetComponent <Renderer>().material; initialScale = transform.localScale; scale = initialScale; stripStatus = StripStatus.filled; }
private void startShrinkSequence() { stripStatus = StripStatus.shrinking; for (int i = 0; i < strips.Length; i++) { strips[i].startShrinkSequence(); } }
private void startFillSequence() { stripStatus = StripStatus.filling; for (int i = 0; i < strips.Length; i++) { strips[i].startFillSequence(); } }
public void startFillSequence() { fillPercentage = 0; mat.SetFloat("_Globalopacity", 1f); mat.SetFloat("_Fillpercentage", 0f); scale = initialScale; transform.localScale = scale; stripStatus = StripStatus.filling; }
public void reportShrunk() { shrinkCount++; if (shrinkCount >= strips.Length) { shrinkCount = 0; stripStatus = StripStatus.waiting; timeShrunk = Time.time; } }
public void reportFilled() { fillCount++; if (fillCount >= strips.Length) { fillCount = 0; stripStatus = StripStatus.filled; timeFilled = Time.time; } }
public void startShrinkSequence() { stripStatus = StripStatus.shrinking; }
void Start() { stripStatus = StripStatus.filled; }