public void Disable() { group.alpha = 0; sign = TriSign.Zero; startFadeTime = null; group.blocksRaycasts = false; group.interactable = false; }
public void FadeIn() { // Debug.Log($"Opening {gameObject.name}."); group.alpha = 0; sign = TriSign.Positive; startFadeTime = Time.timeSinceLevelLoad; group.blocksRaycasts = true; group.interactable = true; }
private void FadeStep() { _group.alpha = Mathf.Clamp01(_group.alpha + (sbyte)sign * (Time.unscaledDeltaTime / fadeDuration)); if (Time.timeSinceLevelLoad >= startFadeTime.Value + fadeDuration) { sign = TriSign.Zero; startFadeTime = null; if (deactivate) { deactivate = false; gameObject.SetActive(false); } } }
public void FadeOut(bool deactivateOnComplete = false) { if (group == null) { return; } // Debug.Log($"Closing {gameObject.name}."); group.alpha = 1; sign = TriSign.Negative; group.blocksRaycasts = false; group.interactable = false; startFadeTime = Time.timeSinceLevelLoad; if (deactivateOnComplete) { deactivate = true; } }