public PlatformNode GetPlatformAfterMovement() { PlatformNode tmpNext = null; if (currentNode is SpawnerNode) { SpawnerNode c = currentNode as SpawnerNode; tmpNext = c.forwardNode; } else { PlatformNode bn = currentNode as PlatformNode; Vector2Int coordinates = bn.Coordinates; foreach (MovementOptions currentMovement in movementPattern.moves) { Vector2Int delta = currentMovement == MovementOptions.Forward ? facing.DirectionsDelta() : facing.GetNeighbor(currentMovement == MovementOptions.Left).DirectionsDelta(); coordinates = coordinates + delta; tmpNext = Board.GetPlatform(coordinates); } } return(tmpNext); }
public override float GetFScore(SpawnerNode endNode) { if (endNode == this) { return(0); } return((float.MaxValue / 3) * 2); }
void Start() { _selected = MainManager.Main.LastSelectedGameObject.GetComponent <SpawnerNode>(); _spawnCar = _selected.SpawnCar; _spawnJeep = _selected.SpawnJeep; _spawnBike = _selected.SpawnBike; _spawnTruck = _selected.SpawnTruck; _generalSpawnRate = _selected.GeneralSpawnRate; _carPerc = _selected.CarSpawnPerc; _jeepPerc = _selected.JeepSpawnPerc; _bikePerc = _selected.BikeSpawnPerc; _truckPerc = _selected.TruckSpawnPerc; }
public SpawnerNode GetRandomSpawner(SpawnerNode n) { if (spawners.Count < 2) { return(null); } SpawnerNode r; do { int rand = Random.Range(0, spawners.Count); r = spawners[rand]; } while (r == n); return(r); }
public virtual float GetFScore(SpawnerNode endNode) { return(1); }
public override float GetFScore(SpawnerNode endNode) { return(Vector3.Distance(transform.position, endNode.transform.position) + Vehicles.Count); }
public void SetStartAndEnd(SpawnerNode start, SpawnerNode end) { startNode = start; endNode = end; }
public void AddSpawner(SpawnerNode s) { spawners.Add(s); }