void Update() { switch (CurrentState) { case PatrollerState.MovingRight: if (_ledgeCheckRight.isApproachingLedge || _wallCheckRight.isApproachingWall) { CurrentState = PatrollerState.MovingLeft; } spriteRenderer.transform.localScale = new Vector3(Mathf.Abs(spriteSize), spriteSize); //TODO Make Moving better transform.position = new Vector3(transform.position.x + _moveSpeed, transform.position.y, 0); break; case PatrollerState.MovingLeft: if (_ledgeCheckLeft.isApproachingLedge || _wallCheckLeft.isApproachingWall) { CurrentState = PatrollerState.MovingRight; } spriteRenderer.transform.localScale = new Vector3(-Mathf.Abs(spriteSize), spriteSize); //TODO Make Moving better transform.position = new Vector3(transform.position.x - _moveSpeed, transform.position.y, 0); break; } }
void Start() { int rand = Random.Range(0, 2); if (rand == 1) { CurrentState = PatrollerState.MovingLeft; } else { CurrentState = PatrollerState.MovingRight; } }