void FixedUpdate() { //comaning snake to move or game over if (!hasCollided) { snakeController.MoveSnake(mobileControls.direction, mobileControls.isAccelerated, mobileControls.smoothTime); //if snake head outside field boundaries game over if (snakeHead.transform.position.x < fieldCoords[0].x + 0.50f || snakeHead.transform.position.x > fieldCoords[1].x - 0.50f || snakeHead.transform.position.y <fieldCoords[0].y + 0.50f || snakeHead.transform.position.y> fieldCoords[1].y - 0.50f) { hasCollided = true; mobileControls.DeathScreen(); return; } Collider[] hit = Physics.OverlapBox(snakeHead.transform.position, snakeHead.transform.localScale / 2); for (int i = 0; i < hit.Length; i++) { if (hit[i].transform.tag == "food") { if (hit[i].gameObject.activeSelf) { EatFood(hit[i].gameObject); } } else { hasCollided = true; mobileControls.DeathScreen(); return; } } } else { mobileControls.DeathScreen(); } }