IEnumerator Disparo(EstadosAtaque e) { SpawnProjectil(); yield return(new WaitForSeconds(0.5f)); estadoActual = e; yield break; }
IEnumerator ChangeMoveFase(EstadosAtaque e, float time) { yield return(new WaitForSeconds(time)); estadoActual = e; look = false; anim.enabled = true; yield break; }
// Start is called before the first frame update void Start() { velocity = 3; player = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>(); waypoints = GameObject.Find("Waypoints").GetComponent <Waypoints>(); estadoActual = EstadosAtaque.idle; anim = GetComponent <Animator>(); }
IEnumerator ChangeShoot(EstadosAtaque e) { yield return(new WaitForSeconds(1)); SpawnSpider(); yield return(new WaitForSeconds(5)); estadoActual = e; yield break; }
IEnumerator AnimationCorr(float timeWait, string firtsAni, int contador, EstadosAtaque e) { yield return(new WaitForSeconds(timeWait)); PlayAnimation(firtsAni); yield return(new WaitForSeconds(animations[contador].length)); estadoActual = e; anim.enabled = false; look = true; yield return(new WaitForSeconds(0.5f)); StopCoroutine("AnimationCorr"); yield return(null); }
void CambiarAtaque() { switch (estadoActual) { case EstadosAtaque.idle: estadoActual = EstadosAtaque.move1; break; case EstadosAtaque.fase1: StartCoroutine(ChangeShoot(EstadosAtaque.shoot)); StartCoroutine(ChangeMoveFase(EstadosAtaque.move2, 8)); //look = true; break; case EstadosAtaque.shoot: StartCoroutine(Disparo(EstadosAtaque.fase1)); break; case EstadosAtaque.Fase2: StartCoroutine(ChangeShoot(EstadosAtaque.shoot2)); anim.enabled = false; break; case EstadosAtaque.shoot2: StartCoroutine(Disparo(EstadosAtaque.Fase2)); break; case EstadosAtaque.fase3: Debug.Log("Aplasta"); break; case EstadosAtaque.Muerte: Debug.Log("Muere"); break; case EstadosAtaque.move1: StartCoroutine(AnimationCorr(3, "walk", 0, EstadosAtaque.fase1)); break; case EstadosAtaque.move2: Debug.Log("estas en move dos"); StartCoroutine(AnimationCorr(3, "walk2", 1, EstadosAtaque.Fase2)); break; } }