public virtual void doActionWeapon() { if (maxProximity != 0) { ready = false; StartCoroutine("checkProximity"); } else { UtilsHabilidades.addHab(this); } }
public bool gestionPrioridadesHabilidades() { bool valida = false; List <WeaponScript> weapons = new List <WeaponScript>(); weapons.AddRange(UtilsHabilidades.getWeaponGestion()); foreach (WeaponScript weap in weapons) { UtilsHabilidades.removHab(weap); valida = decalajeHabilidades(weap.getIsPlayer(), weap); weap.callDoAction(valida); } return(false); }
IEnumerator checkProximity() { for (;;) { float proximity = player.transform.position.x - player.getEnemy().transform.position.x; proximity = Mathf.Abs(proximity); if (proximity < maxProximity) { UtilsHabilidades.addHab(this); ready = true; yield break; } //este yield indica cada cuando se va a llamar a la corrutina, en este caso cada 0.1 segundos. yield return(new WaitForSeconds(.1f)); } }