public void NewMovement() { if (selectedSoldiers.soldiers.Count == 0) { return; } E_SoldiersMoved.Invoke(); tileGetter.GetLayerObjeByMousePosition(ref clickedTile); goal.Set(clickedTile.index); for (int i = 0; i < selectedSoldiers.soldiers.Count; i++) { //Remove if there is conflicted soldier RemoveConflictedSoldier(selectedSoldiers.soldiers[i]); if (i == 0) { tempGoal.Set(soldierPositioner.SearchAvailablePosition(goal)); } else { tempGoal.Set(soldierPositioner.GetPos()); } pathfinder = new PathFinding_AStar(selectedSoldiers.soldiers[i].index, tempGoal, pathFinderGridInterface); selectedSoldiers.soldiers[i].SetDestination(pathfinder.GetPath()); soldiersOnMove.Add(selectedSoldiers.soldiers[i]); } }
public float Cost(Index a, Index b) { if (PathFinding_AStar.Heuristic(a, b) == 2f) { return(Mathf.Sqrt(2f)); } return(1); }