diff --git a/Mud Designer/MudEngine/UITypeEditors/UIDoorwayControl.cs b/Mud Designer/MudEngine/UITypeEditors/UIDoorwayControl.cs index 1254673..a07dfd3 100644 --- a/Mud Designer/MudEngine/UITypeEditors/UIDoorwayControl.cs +++ b/Mud Designer/MudEngine/UITypeEditors/UIDoorwayControl.cs @@ -123,6 +123,8 @@ namespace MudDesigner.MudEngine.UITypeEditors r.Name = e.ChangedItem.Value.ToString(); r.Realm = _Room.Realm; r.Zone = _Room.Zone; + Door d = new Door(TravelDirections.GetReverseDirection(_Door.TravelDirection), _Room.Name); + r.Doorways.Add(d); r.Save(Path.Combine(roomPath, r.Filename)); } diff --git a/Mud Designer/MudEngine/UITypeEditors/UIDoorwayEditor.cs b/Mud Designer/MudEngine/UITypeEditors/UIDoorwayEditor.cs index 4a17fe7..a274da3 100644 --- a/Mud Designer/MudEngine/UITypeEditors/UIDoorwayEditor.cs +++ b/Mud Designer/MudEngine/UITypeEditors/UIDoorwayEditor.cs @@ -20,29 +20,13 @@ namespace MudDesigner.MudEngine.UITypeEditors UIDoorwayControl ctl = new UIDoorwayControl(room); ctl.ShowDialog(); - //Load the Zone that this room belongs to. - string zonePath = ""; - - if (room.Realm == "No Realm Associated.") - { - zonePath = FileManager.GetDataPath(SaveDataTypes.Zones); - } - else - { - zonePath = FileManager.GetDataPath(room.Realm, room.Zone); - } - - zonePath = Path.Combine(zonePath, room.Zone); - string zoneFile = Path.Combine(zonePath, room.Zone + ".zone"); - Zone z = new Zone(); - z = (Zone)z.Load(zoneFile); - //Get an instance of the current Room Editor so we can refresh it. //it requires the zone it belongs to, to be passed into the constructor UIRoomControl roomEd =(UIRoomControl)Program.CurrentEditor; roomEd.RefreshRoomList(); - + roomEd.SaveSelected(); + return room.Doorways; } diff --git a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs index 534b3bd..2e78e61 100644 --- a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs +++ b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs @@ -16,7 +16,7 @@ namespace MudDesigner.MudEngine.UITypeEditors { public partial class UIRoomControl : Form { - bool IsSaved; + public bool IsSaved; Room _Room; Zone _Zone; string savePath = ""; @@ -74,7 +74,7 @@ namespace MudDesigner.MudEngine.UITypeEditors return true; } - private void SaveSelected() + public void SaveSelected() { if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath); @@ -167,6 +167,11 @@ namespace MudDesigner.MudEngine.UITypeEditors if (lstRooms.SelectedIndex == -1) return; + if (!CheckSavedState()) + { + return; + } + string roomName = lstRooms.SelectedItem.ToString(); string zonePath = ""; string zoneRoomPath = ""; diff --git a/Mud Designer/Runtime.Designer.cs b/Mud Designer/Runtime.Designer.cs new file mode 100644 index 0000000..f055130 --- /dev/null +++ b/Mud Designer/Runtime.Designer.cs @@ -0,0 +1,98 @@ +namespace MudDesigner +{ + partial class Runtime + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.txtCommand = new System.Windows.Forms.TextBox(); + this.txtConsole = new System.Windows.Forms.RichTextBox(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.txtConsole); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.txtCommand); + this.splitContainer1.Size = new System.Drawing.Size(693, 422); + this.splitContainer1.SplitterDistance = 393; + this.splitContainer1.TabIndex = 0; + // + // txtCommand + // + this.txtCommand.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtCommand.Location = new System.Drawing.Point(0, 0); + this.txtCommand.Name = "txtCommand"; + this.txtCommand.Size = new System.Drawing.Size(693, 20); + this.txtCommand.TabIndex = 1; + this.txtCommand.TextChanged += new System.EventHandler(this.txtCommand_TextChanged); + // + // txtConsole + // + this.txtConsole.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtConsole.Location = new System.Drawing.Point(0, 0); + this.txtConsole.Name = "txtConsole"; + this.txtConsole.Size = new System.Drawing.Size(693, 393); + this.txtConsole.TabIndex = 0; + this.txtConsole.Text = ""; + // + // Runtime + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(693, 422); + this.Controls.Add(this.splitContainer1); + this.Name = "Runtime"; + this.Text = "Runtime"; + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + this.splitContainer1.Panel2.PerformLayout(); + this.splitContainer1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.RichTextBox txtConsole; + private System.Windows.Forms.TextBox txtCommand; + } +} \ No newline at end of file diff --git a/Mud Designer/Runtime.cs b/Mud Designer/Runtime.cs new file mode 100644 index 0000000..2e0d557 --- /dev/null +++ b/Mud Designer/Runtime.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace MudDesigner +{ + public partial class Runtime : Form + { + public Runtime() + { + InitializeComponent(); + + + } + + private void txtCommand_TextChanged(object sender, EventArgs e) + { + + } + } +} diff --git a/Mud Designer/Runtime.resx b/Mud Designer/Runtime.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/Mud Designer/Runtime.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file