public AutoHangar(Hangar PluginInstance, GridMarket Market = null) { Plugin = PluginInstance; if (Market != null) { Servers = Market.MarketServers; } }
public void InitilizeGridMarket() { //Initilize new market servers MarketServers = new CrossServer(Config.MarketPort, this); //Attempt to create market servers! if (MarketServers.CreateServers() == false) { Hangar.Debug("Unable to start market servers! Check logs & contact plugin dev!"); Config.GridMarketEnabled = false; } Config.HostServer = IsHostServer; ServerOffersDir = Path.Combine(_StoragePath, "HangarServerOffers"); ServerMarketFileDir = Path.Combine(ServerOffersDir, "HangarServerOffers.json"); Directory.CreateDirectory(ServerOffersDir); MarketData PublicData = new MarketData(); if (File.Exists(ServerMarketFileDir)) { using (StreamReader file = File.OpenText(ServerMarketFileDir)) { JsonSerializer serializer = new JsonSerializer(); PublicData = (MarketData)serializer.Deserialize(file, typeof(MarketData)); } } if (IsHostServer) { MarketData Data = new MarketData(); Accounts Accounts = new Accounts(); string MarketPath = Path.Combine(Config.FolderDirectory, "Market.json"); string PlayerAccountsPath = Path.Combine(Config.FolderDirectory, "PlayerAccounts.json"); //Initilize loading of files! if (File.Exists(MarketPath)) { using (StreamReader file = File.OpenText(MarketPath)) { JsonSerializer serializer = new JsonSerializer(); Data = (MarketData)serializer.Deserialize(file, typeof(MarketData)); } } if (File.Exists(PlayerAccountsPath)) { using (StreamReader file = File.OpenText(PlayerAccountsPath)) { JsonSerializer serializer = new JsonSerializer(); Accounts = (Accounts)serializer.Deserialize(file, typeof(Accounts)); } } //GridDefinition = Data.GridDefinition; PublicOfferseGridList = PublicData.List; GridList = Data.List; PlayerAccounts = Accounts.PlayerAccounts; } else { Hangar.Debug("Requesting update!"); //Client start. (Tell server to broadcast to all clients!) CrossServerMessage SendMessage = new CrossServerMessage(); SendMessage.Type = CrossServer.MessageType.RequestAll; MarketServers.Update(SendMessage); Hangar.Debug("Initial Send Request"); } }