public IActionResult Update(int IdSuitcase, Suitcase updatedSuitcase) { if (_context.Suitcase.Count(s => s.IdSuitcase == IdSuitcase) == 0) { return(NotFound()); } _context.Suitcase.Attach(updatedSuitcase); _context.Entry(updatedSuitcase).State = EntityState.Modified; _context.SaveChanges(); return(Ok(updatedSuitcase)); }
/// <summary> /// Places the suitcases /// </summary> /// <param name="robots"></param> /// <param name="returnHome"></param> /// <param name="startAt"></param> private void PlaceAllSuitcases(List <Robot> robots, bool returnHome, int startAt = 0) { List <Coordinate> suitcasesCoordinates = w.GetOccupationList(); for (int i = 0; i < robots.Count; i++) { int j = i + startAt; char vertex = suitcasesCoordinates[j].GetVertex().Value; Robot r = robots[i]; Suitcase s = suitcasesCoordinates[j].GetSuitcase(); Coordinate destination = suitcasesCoordinates[j]; r.AddTask(new RobotGrab(vertex, s, coordinates, g, false)); r.AddTask(new RobotMove(g.shortest_path('A', vertex), coordinates, g)); r.AddTask(new RobotRelease(s, new Coordinate(destination.GetX(), destination.GetY(), destination.GetZ()))); s.Move(15, 0, 5); // Move to A if (returnHome) { r.AddTask(new RobotMove(g.shortest_path(vertex, 'A'), coordinates, g)); } } }
public static bool CreateAndCarryshoppingBag(Sim sim) { bool flag = false; Suitcase suitcase = (GlobalFunctions.CreateObjectOutOfWorld("suitcaseVintage", ProductVersion.EP9) as Suitcase); //if (suitcase != null) //{ // if (sim.ParentToRightHand(suitcase)) // { // CarrySystem.EnterWhileHolding(sim, suitcase); // } //} if (suitcase != null) { flag = sim.TryAddObjectToInventory(suitcase); if (flag) { flag = CarrySystem.PickUpFromSimInventory(sim, suitcase, true); } } return(flag); }
/// <summary> /// The main simulate method /// </summary> public void Simulate() { Thread.Sleep(5000); // Wait for world to be loaded, improving performance running = true; // Fetch airplane Airplane a = w.GetAirplanes()[0]; // Fetch robots List <Robot> robots = w.GetRobots(); // Kickstart program FetchAllSuitcases(robots); while (running) { if (transportSuitcasesCount == 4) { timesFetchedSuitcases++; int toAdd = 0; if (timesFetchedSuitcases % 2 == 0) { toAdd = 4; } // Load into airplane List <Coordinate> occupationList = w.GetOccupationList(); for (int i = 0; i < 4; i++) { Coordinate c = occupationList[i + toAdd]; Suitcase s = c.GetSuitcase(); s.Move(100, 100, 100); } // Airplane liftoff a.AddTask(new AirplaneMove(new Coordinate(70, 4.3, -15), true)); // point 3 a.AddTask(new AirplaneMove(new Coordinate(125, 59, -15), true, true)); // point 4 a.AddTask(new AirplaneMove(new Coordinate(-50, 4.3, -15), false, true)); // point 1 a.AddTask(new AirplaneMove(new Coordinate(15, 4.3, -15))); // point 2 transportSuitcasesCount = 0; } if (a.GetLanded()) { timesLanded++; // Move suitcases to A List <Coordinate> occupationList = w.GetOccupationList(); int toAdd = 0; if (timesFetchedSuitcases % 2 == 0) { toAdd = 4; } else { this.startAt = 4; } for (int i = 0; i < 4; i++) { Coordinate c = occupationList[i + toAdd]; Suitcase s = c.GetSuitcase(); s.Move(15, 0, 5); // Move to A } PlaceAllSuitcases(robots, true, toAdd); a.SetLanded(false); if (timesLanded == 2) { // Redo simulation FetchAllSuitcases(robots); timesLanded = 0; } } if (this.startAt == 4) { FetchAllSuitcases(robots, startAt); startAt = 0; } UpdateFrame(); } }
public IActionResult CreateCuitcase(Suitcase suitcase) { _context.Suitcase.Add(suitcase); _context.SaveChanges(); return(StatusCode(201, suitcase)); }