public Mountain() { InitializeComponent(); MessageQueue = new MessageQueue(); SystemEventQueue = new SystemEventQueue(); Common.Settings = new ApplicationSettings(MessageQueue, SystemEventQueue); MessageQueue.Tag = "System"; MessageQueue.OnMessageReceived += Messages_OnMessageReceived; SystemEventQueue.OnEventReceived += Events_OnEventReceived; world = BuildWorldAdminSection(); Common.Settings.World = world; // todo: load last saved world else load default world, if no default, build basic default area world.StartAcceptingConnections(world.Port); if (world.portListener.Active()) { listenerCheckBox.BackColor = Color.GreenYellow; connectionPoller.Enabled = true; Console.Items.Add("System: Server has started."); } RefreshEditor(); SyncControls(); }
private World BuildWorldAdminSection() { if (world != null) { world = null; } try { world = new World(); world.Areas.Add(BuildAreas.AreaType(areaType.home, Common.Settings.TheVoid)); if (world.Areas.Any()) areaComboBox.Items.AddRange(world.Areas.Select(x => x.Name).ToArray()); areaComboBox.SelectedIndex = 0; if (SelectedArea != null) { if (SelectedArea.Rooms.Any()) { if (roomsListBox.Items.Count > 0) roomsListBox.SelectedIndex = 0; } } } catch (Exception e) { Console.Items.Add("Error: " + e.ToString()); } return world; }