Пример #1
0
    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();
            }
        }
    }
Пример #2
0
 void Start()
 {
     fillSpeed   /= 1000;
     mat          = GetComponent <Renderer>().material;
     initialScale = transform.localScale;
     scale        = initialScale;
     stripStatus  = StripStatus.filled;
 }
Пример #3
0
 private void startShrinkSequence()
 {
     stripStatus = StripStatus.shrinking;
     for (int i = 0; i < strips.Length; i++)
     {
         strips[i].startShrinkSequence();
     }
 }
Пример #4
0
 private void startFillSequence()
 {
     stripStatus = StripStatus.filling;
     for (int i = 0; i < strips.Length; i++)
     {
         strips[i].startFillSequence();
     }
 }
Пример #5
0
 public void startFillSequence()
 {
     fillPercentage = 0;
     mat.SetFloat("_Globalopacity", 1f);
     mat.SetFloat("_Fillpercentage", 0f);
     scale = initialScale;
     transform.localScale = scale;
     stripStatus          = StripStatus.filling;
 }
Пример #6
0
 public void reportShrunk()
 {
     shrinkCount++;
     if (shrinkCount >= strips.Length)
     {
         shrinkCount = 0;
         stripStatus = StripStatus.waiting;
         timeShrunk  = Time.time;
     }
 }
Пример #7
0
 public void reportFilled()
 {
     fillCount++;
     if (fillCount >= strips.Length)
     {
         fillCount   = 0;
         stripStatus = StripStatus.filled;
         timeFilled  = Time.time;
     }
 }
Пример #8
0
 public void startShrinkSequence()
 {
     stripStatus = StripStatus.shrinking;
 }
Пример #9
0
 void Start()
 {
     stripStatus = StripStatus.filled;
 }