/// <summary>
        /// Restock the shelves
        /// </summary>
        /// <param name="train">Train that brings the shelves</param>
        private void ShelfRestock(Train train)
        {
            ShelfTransporters forklift = forklifts.Find(x => x.Status() == false);
            Shelf             shelf    = shelfs.First(x => x.Status() == false && Math.Round(x.x, 1) == 16 && Math.Round(x.z, 1) == -2.4 && Math.Round(x.y, 1) == 1000);
            Node node = g.GetNodes().First(x => x.name.Contains("Res") && x.shelf == null);

            if (forklift != null && shelf != null && node != null)
            {
                forklift.Move(18, 0, 31);
                shelf.Move(18, 0, 31);
                forklift.AddShelf(shelf);
                forklift.AddTask(new ForkliftPickUp(shelf));
                forklift.AddTask(new ForkliftMove(g.Shortest_Path("Forklift", node.name)));
                forklift.AddTask(new ForkliftDeliver(node, shelf));
                forklift.AddTask(new ForkliftMove(g.Shortest_Path(node.name, "Forklift")));
                forklift.AddTask(new ForkliftReset());
                forklift.UpdateStatus();
                train.itemRemove();
                node.shelf = shelf;
                ShelfReplace.Add(node);
            }
        }
 /// <summary>
 /// Forklift pick up the shelf
 /// </summary>
 /// <param name="forklift">Forklift</param>
 public void StartTask(ShelfTransporters forklift)
 {
     shelf.Move(shelf.x, shelf.y + 0.3, shelf.z);
     forklift.AddShelf(shelf);
 }
Esempio n. 3
0
 /// <summary>
 /// Bool check if robot has reset
 /// </summary>
 /// <param name="forklift">Forklift</param>
 /// <returns>Forklift reset</returns>
 public bool TaskCompleted(ShelfTransporters forklift)
 {
     return(Math.Round(forklift.x, 1) == 32 && Math.Round(forklift.y, 1) == 1000 && Math.Round(forklift.z, 1) == 32);
 }
Esempio n. 4
0
 /// <summary>
 /// Resets the forklift
 /// </summary>
 /// <param name="forklift">Forklift</param>
 public void StartTask(ShelfTransporters forklift)
 {
     forklift.Move(32, 1000, 32);
 }
 /// <summary>
 /// Add forklift to list
 /// </summary>
 /// <param name="train">Train</param>
 public void AddForkliftToList(ShelfTransporters forklift)
 {
     forklifts.Add(forklift);
 }