public static ShipSetupModel[] DbLoadLastShipsSetup() { using (var db = new ApplicationDbContext()) { int setupNumber = 4; ShipSetupDTO[] setup = db.ShipSetups.OrderByDescending(s => s.CreatedAt) .Take(setupNumber).ToArray(); if (setup == null || setup.Length == 0) { return(null); } String[] strSize; int[] size; ShipSetupModel[] setupModels = new ShipSetupModel[setupNumber]; for (int i = 0; i < setupNumber; i++) { strSize = setup[i].Size.Split(';'); size = new int[] { int.Parse(strSize[0]), int.Parse(strSize[1]) }; setupModels[i] = new ShipSetupModel(setup[i].Name, size, setup[i].ShipNumber); } return(setupModels); } }
/// <summary> /// @param pos The array of positions of the ship to generate. /// @param shipType The type of ship to generate. /// @return The generated ship. /// </summary> public static ShipModel GenerateShip(ShipType shipType, ShipSetupModel setup) { // TODO Load the parameters depending on the ship category String name; switch (shipType) { case ShipType.CARRIER: name = "Carrier"; break; case ShipType.SUBMARINE: name = "Submarine"; break; case ShipType.DESTROYER: name = "Destroyer"; break; case ShipType.BATTLESHIP: name = "Battleship"; break; case ShipType.BIREME: name = "Bireme"; break; case ShipType.CARAVEL: name = "Caravel"; break; case ShipType.DRAKKAR: name = "Drakkar"; break; default: return(null); } return(new ShipModel(name, setup)); }