Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public override float GetFScore(SpawnerNode endNode)
 {
     if (endNode == this)
     {
         return(0);
     }
     return((float.MaxValue / 3) * 2);
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
0
 public virtual float GetFScore(SpawnerNode endNode)
 {
     return(1);
 }
Exemplo n.º 6
0
 public override float GetFScore(SpawnerNode endNode)
 {
     return(Vector3.Distance(transform.position, endNode.transform.position) + Vehicles.Count);
 }
Exemplo n.º 7
0
 public void SetStartAndEnd(SpawnerNode start, SpawnerNode end)
 {
     startNode = start;
     endNode   = end;
 }
Exemplo n.º 8
0
 public void AddSpawner(SpawnerNode s)
 {
     spawners.Add(s);
 }