// Update is called once per frame void Update() { if (stat == null) { stat = statControler.GetStatOfType(statType) as ConsumableStat; if (stat != null) { stat.OnStatDepletedCallBack += Die; } } if (transform.position != target) { target = player.position + new Vector3(attackRange / 2, attackRange / 2, 0); var norm = target; norm.Normalize(); var angle = Mathf.Atan2(norm.x, norm.y); //Debug.Log(angle); if (angle < ThreePiOverFour && angle > -PiOverFour) { mageAni.SetInteger("WalkState", (int)DIR.UP); } else if (angle < PiOverFour && angle > -PiOverFour) { mageAni.SetInteger("WalkState", (int)DIR.RIGHT); } else if (angle < -PiOverFour && angle > -ThreePiOverFour) { mageAni.SetInteger("WalkState", (int)DIR.DOWN); } else if (angle > ThreePiOverFour || angle < -ThreePiOverFour) { mageAni.SetInteger("WalkState", (int)DIR.LEFT); } //transform.position = Vector3.MoveTowards(transform.position, target, Time.deltaTime * speed); } else { mageAni.SetInteger("WalkState", (int)DIR.IDLE); } if (Vector3.Distance(player.position, transform.position) <= attackRange) { UseItem(); } Vector2 dir = target.normalized; rb.MovePosition(rb.position + dir * speed * Time.fixedDeltaTime); }
private void Update() { if (stat == null) { stat = statControler.GetStatOfType(statType) as ConsumableStat; if (stat != null) { stat.OnStatDepletedCallBack += Die; } } }
IEnumerator SetHealth() { yield return(new WaitForEndOfFrame()); if (health == null) { health = statControler.GetStatOfType(statType) as ConsumableStat; if (health != null) { health.OnStatDepletedCallBack += Die; } StartCoroutine(SetHealth()); } else { StartCoroutine(EnemyFSM()); } }
private void Update() { //Debug.Log(target); rb.MovePosition(rb.position + dir * speed * Time.fixedDeltaTime); if (health == null) { health = GetComponent <StatControler>().GetStatOfType(StatType.HealthStat) as HealthStat; } if (stat == null) { stat = statControler.GetStatOfType(statType) as ConsumableStat; if (stat != null) { stat.OnStatChangeCallBack += UpdateColor; stat.OnStatDepletedCallBack += Die; } } }