diff options
| -rw-r--r-- | ShiftOS.Server/Program.cs | 26 | ||||
| -rw-r--r-- | ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs | 2 | ||||
| -rw-r--r-- | ShiftOS.WinForms/Applications/MUDControlCentre.cs | 17 |
3 files changed, 37 insertions, 8 deletions
diff --git a/ShiftOS.Server/Program.cs b/ShiftOS.Server/Program.cs index c0c27ed..3ad8035 100644 --- a/ShiftOS.Server/Program.cs +++ b/ShiftOS.Server/Program.cs @@ -420,14 +420,36 @@ Contents: })); } break; - case "legion_create": + case "legion_createnew": List<Legion> legions = new List<Legion>(); if (File.Exists("legions.json")) legions = JsonConvert.DeserializeObject<List<Legion>>(File.ReadAllText("legions.json")); var l = JsonConvert.DeserializeObject<Legion>(msg.Contents); + bool legionExists = false; - legions.Add(l); + foreach (var legion in legions) + if (legion.ShortName == l.ShortName) + legionExists = true; + + if (legionExists == false) + { + legions.Add(l); + server.DispatchTo(new Guid(msg.GUID), new NetObject("test", new ServerMessage + { + Name = "legion_create_ok", + GUID = "server" + })); + + } + else + { + server.DispatchTo(new Guid(msg.GUID), new NetObject("test", new ServerMessage + { + Name = "legion_alreadyexists", + GUID = "server" + })); + } File.WriteAllText("legions.json", JsonConvert.SerializeObject(legions, Formatting.Indented)); break; diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs index 06c562e..cc97864 100644 --- a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs +++ b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs @@ -305,9 +305,9 @@ namespace ShiftOS.WinForms.Applications // // toolStripContainer1.ContentPanel // + this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_create); this.toolStripContainer1.ContentPanel.Controls.Add(this.job_current); this.toolStripContainer1.ContentPanel.Controls.Add(this.shop_view); - this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_create); this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_view); this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_join); this.toolStripContainer1.ContentPanel.Controls.Add(this.you_memos); diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.cs index 1756e99..439d5ab 100644 --- a/ShiftOS.WinForms/Applications/MUDControlCentre.cs +++ b/ShiftOS.WinForms/Applications/MUDControlCentre.cs @@ -66,6 +66,17 @@ namespace ShiftOS.WinForms.Applications BannerColor = ConsoleColor.DarkRed }); } + else if(msg.Name == "legion_create_ok") + { + SaveSystem.CurrentSave.CurrentLegions.Clear(); + SaveSystem.CurrentSave.CurrentLegions.Add(editingLegion.ShortName); + SaveSystem.SaveGame(); + myLegionToolStripMenuItem_Click(this, EventArgs.Empty); + } + else if(msg.Name == "legion_alreadyexists") + { + Infobox.Show("Legion already exists", "A legion with the short name you provided already exists. Please choose another."); + } else if(msg.Name == "legion_users_found") { lvusers.Items.Clear(); @@ -421,11 +432,7 @@ Current legions: {legionname}"; private void btncreate_Click(object sender, EventArgs e) { - ServerManager.SendMessage("legion_create", JsonConvert.SerializeObject(editingLegion)); - SaveSystem.CurrentSave.CurrentLegions.Clear(); - SaveSystem.CurrentSave.CurrentLegions.Add(editingLegion.ShortName); - SaveSystem.SaveGame(); - myLegionToolStripMenuItem_Click(sender, e); + ServerManager.SendMessage("legion_createnew", JsonConvert.SerializeObject(editingLegion)); } private void txtnewlegiondescription_TextChanged(object sender, EventArgs e) |
