public IEnumerator DestroyScale(float waitTime) { float t = Time.time; while (Time.time < t + waitTime) { transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t) / waitTime); yield return(null); } }
IEnumerator DestroyScale(float waitTime) { Destroy(GetComponent <ChangeScale>()); float t = Time.time; while (Time.time < t + waitTime) { transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t) / waitTime); yield return(null); } }
public IEnumerator DestroyScale(float waitTimePos, float waitTimeScale) { float t = Time.time; while (Time.time < t + waitTimePos) { float tt = (Time.time - t) / (waitTimePos); GatePart.localPosition += dir * partCurve.Evaluate(tt) * 0.3f; yield return(null); } while (t + waitTimePos < Time.time && Time.time < t + waitTimePos + waitTimeScale) { transform.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t - waitTimePos) / (waitTimeScale)); GatePart.localScale = Vector3.one * DestroyScaleCurve.Evaluate((Time.time - t - waitTimePos) / (waitTimeScale)); yield return(null); } transform.parent.GetComponent <GateEnemy>().KillSlave(transform); if (!Addressables.ReleaseInstance(GatePart.gameObject)) { Destroy(GatePart.gameObject); } }