Exemplo n.º 1
0
    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();
        }
    }