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()); }
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); }