public virtual void Move() { if (path.Count > 0) { Tile t = path.Peek(); Vector3 target = t.transform.position; // Calcula a unidade da posição em cima da Tile alvo 'target' target.y += halfHeight + t.GetComponent <Collider>().bounds.extents.y; if (Vector3.Distance(transform.position, target) >= 0.05f) { bool jump = transform.position.y != target.y; if (jump) { // Implementar o pulo } else { CalculatePointVector(target); SetHorizotalVelocity(); } //Locomoção //transform.forward = pointVector; transform.position += velocity * Time.deltaTime; } else { transform.position = target; path.Pop(); } } else { RemoveSelectableTiles(); moving = false; // Mudar a Rodada ou Terminar o turno; RoundManager.EndTurn(); } }