IEnumerator Countdown() { player.ADrunning = true; player.isShielded = true; GameObject shield = Instantiate(player.shieldV1, player.shieldPos.position, Quaternion.identity); ShieldScript ss = shield.GetComponent <ShieldScript>(); ss.player = player; ss.Appear(); yield return(new WaitForSeconds(ss.ADuration)); shield.GetComponent <SphereCollider>().enabled = true; float t = 0.0f; float start = 1; float end = 0; while (t < time) { t += Time.deltaTime; player.ADprgbar.fillAmount = Mathf.Lerp(start, end, t / time); yield return(null); } shield.GetComponent <SphereCollider>().enabled = false; ss.Disappear(); yield return(new WaitForSeconds(ss.ADuration)); Destroy(shield); player.PlayTakeAnimation(); player.isShielded = false; player.hasItem = false; player.currentItem = null; Destroy(player.currentItemIcon); player.ADrunning = false; }
public IEnumerator S_Timer() { yield return(new WaitForSeconds(STimer)); shield.Appear(); yield return(new WaitForSeconds(SDuration)); shield.Disappear(); StartCoroutine(S_Timer()); }