public IEnumerator active() { while (true) { RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.TransformDirection(Vector2.right), distance, whatIsWall); if (hit) { if (hit.collider.gameObject == storage) { tempStorage.AddPoints(); Speed = tempStorage.speed; Income = tempStorage.income; Rotate(); yield return(null); } else { rb.velocity = new Vector2(0, 0); yield return(new WaitForSeconds(DigTime)); Rotate(); } } else { rb.velocity = transform.TransformDirection(Vector2.right * Speed); } yield return(null); } }