Exemplo n.º 1
0
    private void Initialise()
    {
        m_pathfindingInformation = new Pathfinding.PathfindingInformation();

        m_currentPosition = RoundVector(transform.position);
        m_nextPosition    = m_currentPosition;
        m_canReachTarget  = true;

        Pathfinding.onPathfindingMapUpdated += OnPathfindingMapUpdated;

        StartCoroutine(Movement());
    }
Exemplo n.º 2
0
    private Vector2 GetNextPosition()
    {
        if (m_shouldPatrol)
        {
            m_nextPosition = new Vector2();
        }
        else
        {
            m_pathfindingInformation = Pathfinding.Instance.FindPath(transform.position, tempTarget.transform.position);
            if (m_pathfindingInformation.m_canReachTile && m_pathfindingInformation.m_path.Count > 0)
            {
                m_canReachTarget = true;

                m_nextPosition = m_pathfindingInformation.m_path[m_pathfindingInformation.m_path.Count - 1]; //get end position in path
            }
            else
            {
                m_canReachTarget = false;
            }
        }
        return(m_nextPosition);
    }