void Update() { timer += 1 * Time.deltaTime; distance = Vector3.Distance(this.transform.position, chr.transform.position); if (range > distance) { active = true; } else { active = false; } if (active && timer > 5) { var _lineToChar = (this.transform.position - chr.transform.position).normalized; var _angleToChar = Vector3.Angle(Vector3.up, _lineToChar); if (_lineToChar.x < 0) { if (_angleToChar < 22.5f) { viewDirection = Vector3.up; } else if (_angleToChar < 67.5f && _angleToChar > 22.5f) { viewDirection = new Vector3(0.5f, 0.5f, 0); } else { active = false; } } GetComponent <Renderer>().enabled = true; GetComponent <Collider2D>().enabled = true; bulletSpwn.direction = viewDirection; bulletSpwn.GetBullet(); timer = 0; } else if (!active) { GetComponent <Renderer>().enabled = false; GetComponent <Collider2D>().enabled = false; } }
public void Shoot() { bulletSpwn.direction = characterViewDirection; bulletSpwn.GetBullet(); }