void Start() { messageStartToAppear = false; txtSize = txt.rectTransform.sizeDelta; txt.rectTransform.sizeDelta = txt.rectTransform.sizeDelta * 0.7f; resizeSpeed = Mathf.Sqrt((txtSize - txt.rectTransform.sizeDelta).sqrMagnitude / 2.0f); StartCoroutine(WaitBeforeTextAppear()); phase = DeathPhase.AppearingMessage; }
//========================================================================================================================= // P H A S E S //========================================================================================================================= private void AppearingMessage() { img.color = Color.Lerp(img.color, Color.white, Time.deltaTime); if (messageStartToAppear) { txt.color = Color.Lerp(txt.color, Color.white, Time.deltaTime); txt.rectTransform.sizeDelta = Vector2.MoveTowards(txt.rectTransform.sizeDelta, txtSize, resizeSpeed * Time.deltaTime); } if (((Vector4)(txt.color - Color.white)).sqrMagnitude < 1.0f && txt.rectTransform.sizeDelta == txtSize) { StartCoroutine(WaitBeforeBlackScreenAppear()); phase = DeathPhase.AppearingBlackScreen; } }
private void AppearingBlackScreen() { if (blackScreen == null) { return; } blackScreen.color = Color.Lerp(blackScreen.color, Color.black, 2 * Time.deltaTime); if (Mathf.Abs(blackScreen.color.a - 1.0f) <= 0.0001f) { Destroy(img.gameObject); Destroy(txt.gameObject); ResurrectionTombstone.ResurrectPlayer(); waitingTime = Time.time + 1.5f; phase = DeathPhase.VanishingBlackScreen; } }