// Fonction qui vide la liste. internal void clearListBox() { if (GridList.Count > 0) { for (int i = 0; i <= GridList.Count; i++) { if ((i % 2 == 0 && i > 0) || i == 1) { i--; } GridList.RemoveAt(i); } } }
//Forces refresh of all admin offered grids and syncs them to the blocks in the server public void UpdatePublicOffers() { //Update all public offer market items! //Need to remove existing ones for (int i = 0; i < GridList.Count; i++) { if (GridList[i].Steamid != 0) { continue; } Hangar.Debug("Removing public offer: " + GridList[i].Name); GridList.RemoveAt(i); } string PublicOfferPath = ServerOffersDir; //Clear list PublicOfferseGridList.Clear(); foreach (PublicOffers offer in Config.PublicOffers) { if (offer.Forsale) { string GridFilePath = System.IO.Path.Combine(PublicOfferPath, offer.Name + ".sbc"); MyObjectBuilderSerializer.DeserializeXML(GridFilePath, out MyObjectBuilder_Definitions myObjectBuilder_Definitions); MyObjectBuilder_ShipBlueprintDefinition[] shipBlueprint = null; try { shipBlueprint = myObjectBuilder_Definitions.ShipBlueprints; } catch { Hangar.Debug("Error on BP: " + offer.Name + "! Most likely you put in the SBC5 file! Dont do that!"); continue; } MyObjectBuilder_CubeGrid grid = shipBlueprint[0].CubeGrids[0]; byte[] Definition = MyAPIGateway.Utilities.SerializeToBinary(grid); //HangarChecks.GetPublicOfferBPDetails(shipBlueprint, out GridStamp stamp); //Straight up add new ones MarketList NewList = new MarketList(); NewList.Steamid = 0; NewList.Name = offer.Name; NewList.Seller = offer.Seller; NewList.SellerFaction = offer.SellerFaction; NewList.Price = offer.Price; NewList.Description = offer.Description; NewList.GridDefinition = Definition; //NewList.GridBuiltPercent = stamp.GridBuiltPercent; //NewList.NumberofBlocks = stamp.NumberofBlocks; //NewList.SmallGrids = stamp.SmallGrids; //NewList.LargeGrids = stamp.LargeGrids; // NewList.BlockTypeCount = stamp.BlockTypeCount; //Need to setTotalBuys PublicOfferseGridList.Add(NewList); Hangar.Debug("Adding new public offer: " + offer.Name); } } //Update Everything! Comms.SendListToModOnInitilize(); MarketData Data = new MarketData(); Data.List = PublicOfferseGridList; FileSaver.Save(ServerMarketFileDir, Data); }