16 private float fadeTime = 0.5f;
34 private bool autoFadeIn =
false;
39 public bool AutoFadeIn
52 private float fadeCounter = 0;
53 private Color cachedColor;
54 private bool fadingIn =
true;
57 private Material cachedMaterial;
61 cachedMaterial = this.GetComponent<Renderer>().material;
62 cachedColor = cachedMaterial.color;
73 private void OnEnable()
87 if (cachedMaterial != null)
89 cachedColor = cachedMaterial.color;
92 if (resetFade && cachedMaterial)
95 cachedMaterial.color = cachedColor;
108 if (cachedMaterial != null)
110 cachedColor = cachedMaterial.color;
111 cachedColor.a = value;
112 cachedMaterial.color = cachedColor;
124 if (cachedMaterial != null)
126 cachedColor = cachedMaterial.color;
129 if (resetStartValue && cachedMaterial)
132 cachedMaterial.color = cachedColor;
139 private void Update()
141 if (fadeCounter < FadeTime)
143 fadeCounter += Time.deltaTime;
144 if (fadeCounter > FadeTime)
146 fadeCounter = FadeTime;
149 float percent = fadeCounter / FadeTime;
153 percent = 1 - percent;
154 if (percent < cachedColor.a)
156 cachedColor.a = percent;
161 if (percent > cachedColor.a)
163 cachedColor.a = percent;
167 if (cachedMaterial != null)
169 cachedMaterial.color = cachedColor;
180 Destroy(cachedMaterial);