How to List coordinates in a queue?,How to make a queue list of coordinates?
The game I'm making requires minions to walk to a tile and mine the tile to clear space, or mine ores. Currently the minions bunch up on one tile instead of picking their own tile, or idling if no tile is available.
What I was hoping I could do was make a list or array that stores the coordinates, then gives them to the minions in the list (or array) order. So minion 1 gets the first coordinates, then minion 2 would get the next set, and so on, and when minion 1 is done mining he gets a new set of coordinates to go to. My current code bunches all the coordinates into the first slot instead of giving each their own. Don't know if I'm allowed to link to a different site to show my code so I'll just paste it here:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;
namespace Pathfinding
{
public class ListTest : MonoBehaviour
{
public TileBase mineHereTile;
public Tilemap MineHereTM;
IAstarAI ai;
List<Vector3> positions;
void Start()
{
}
void Update()
{
foreach (var position in MineHereTM.cellBounds.allPositionsWithin)
{
if (MineHereTM.GetTile(position) == mineHereTile)
{
GraphNode node = AstarPath.active.GetNearest(position, NNConstraint.Default).node;
Vector3 targetLoc = position;
Vector3 nodePos1 = (Vector3)node.position;
float dist = Vector3.Distance(nodePos1, targetLoc);
if(dist < 2)
{
Vector3 GotTile = nodePos1;
List<Vector3> positions = new List<Vector3>();
positions.Add(GotTile);
if (Input.GetKeyDown(KeyCode.I))
{
Debug.Log(positions[0].ToString());
}
}
}
}
}
}
}
Your answer

Follow this Question
Related Questions
NullReferenceException: When creating a graph 0 Answers
Random Teleport Character issue...Help Please. 1 Answer
Destroy GameObject in list then instantiate GameObject not working 1 Answer
How to create a Matrix / Array / List / Grid of gameObjects? 1 Answer
Moving from Javascript to C# Error - does not contain a constructor that takes `x' arguments 1 Answer