void chase() { EnemyScanner.Range range = scanner.getRange(); if (range == EnemyScanner.Range.FAR || range == EnemyScanner.Range.NONE) { //or shoot state = State.PATROLLING; } if (range == EnemyScanner.Range.MEDIUM) { if (plr.position.x - transform.position.x > 1.5f) { right = true; } if (plr.position.x - transform.position.x < -1.5f) { right = false; } transform.Translate(speed * Time.deltaTime * (right ? 1 : -1), 0, 0); } if (range == EnemyScanner.Range.CLOSE) { state = State.ATTACKING; } }
void attack() { //melee EnemyScanner.Range range = scanner.getRange(); if (range == EnemyScanner.Range.NONE) { right = !right; state = State.CHASING; } if (range != EnemyScanner.Range.CLOSE) { //or shoot state = State.CHASING; anim.SetBool("melee", false); return; } anim.SetBool("melee", true); }
void patrol() { anim.SetBool("isWalking", true); if (transform.position.x <= lLimit.position.x) { right = true; } if (transform.position.x >= rLimit.position.x) { right = false; } transform.Translate(speed * Time.deltaTime * (right ? 1 : -1), 0, 0); EnemyScanner.Range range = scanner.getRange(); if (range == EnemyScanner.Range.MEDIUM || range == EnemyScanner.Range.CLOSE) { state = State.CHASING; } }