diff --git a/Mud Designer/MudEngine/GameObjects/Environment/Zone.cs b/Mud Designer/MudEngine/GameObjects/Environment/Zone.cs index 36de80b..a76e4e4 100644 --- a/Mud Designer/MudEngine/GameObjects/Environment/Zone.cs +++ b/Mud Designer/MudEngine/GameObjects/Environment/Zone.cs @@ -55,14 +55,14 @@ namespace MudDesigner.MudEngine.GameObjects.Environment [Category("Environment Information")] [EditorAttribute(typeof(UIRoomEditor), typeof(UITypeEditor))] [Description("Collection of Rooms that have been created. Editing the Rooms Collection lets you manage the Zones rooms.")] - public List Rooms { get; set; } + public List Rooms { get; set; } [Category("Environment Information")] public string EntranceRoom { get; set; } public Zone() { - Rooms = new List(); + Rooms = new List(); IsSafe = false; Realm = "No Realm Associated."; } @@ -76,30 +76,14 @@ namespace MudDesigner.MudEngine.GameObjects.Environment { var filterQuery = from room in Rooms - where room.Name == name + where room == name select room; - foreach (var room in filterQuery) - return room; - - return null; - } - - /// - /// - /// - /// - /// - public Room GetRoomByFilename(string filename) - { - var filterQuery = - from room in Rooms - where room.Filename == filename - select room; - - foreach (var room in filterQuery) - return room; - + foreach (string room in filterQuery) + { + Room r = new Room(); + return (Room)r.Load(room, this.Name); + } return null; } @@ -110,7 +94,7 @@ namespace MudDesigner.MudEngine.GameObjects.Environment /// public void RebuildRoomCollection() { - Rooms = new List(); + Rooms = new List(); //Create our collection of Rooms. string realmPath = Path.Combine(FileManager.GetDataPath(SaveDataTypes.Realms), this.Realm); string zonePath = Path.Combine(realmPath, this.Name); @@ -130,7 +114,7 @@ namespace MudDesigner.MudEngine.GameObjects.Environment Room r = new Room(); r = (Room)r.Load(Path.GetFileNameWithoutExtension(file)); //r = (Room)FileManager.Load(file, r); - this.Rooms.Add(r); + this.Rooms.Add(r.Name); } //Save the re-built Room collection diff --git a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.Designer.cs b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.Designer.cs index b407a41..38da245 100644 --- a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.Designer.cs +++ b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.Designer.cs @@ -32,18 +32,18 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UIRoomControl)); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.lstRooms = new System.Windows.Forms.ListBox(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.mnuDeleteRoom = new System.Windows.Forms.ToolStripMenuItem(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.btnNewRoom = new System.Windows.Forms.ToolStripButton(); this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel(); this.txtFindRoom = new System.Windows.Forms.ToolStripTextBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.propertyRoom = new System.Windows.Forms.PropertyGrid(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.mnuDeleteRoom = new System.Windows.Forms.ToolStripMenuItem(); this.groupBox1.SuspendLayout(); + this.contextMenuStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.groupBox2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // groupBox1 @@ -71,6 +71,20 @@ this.lstRooms.TabIndex = 1; this.lstRooms.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lstRooms_MouseDoubleClick); // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuDeleteRoom}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(143, 26); + // + // mnuDeleteRoom + // + this.mnuDeleteRoom.Name = "mnuDeleteRoom"; + this.mnuDeleteRoom.Size = new System.Drawing.Size(142, 22); + this.mnuDeleteRoom.Text = "Delete Room"; + this.mnuDeleteRoom.Click += new System.EventHandler(this.mnuDeleteRoom_Click); + // // toolStrip1 // this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -129,20 +143,6 @@ this.propertyRoom.ToolbarVisible = false; this.propertyRoom.PropertyValueChanged += new System.Windows.Forms.PropertyValueChangedEventHandler(this.propertyRoom_PropertyValueChanged); // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mnuDeleteRoom}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(143, 26); - // - // mnuDeleteRoom - // - this.mnuDeleteRoom.Name = "mnuDeleteRoom"; - this.mnuDeleteRoom.Size = new System.Drawing.Size(152, 22); - this.mnuDeleteRoom.Text = "Delete Room"; - this.mnuDeleteRoom.Click += new System.EventHandler(this.mnuDeleteRoom_Click); - // // UIRoomControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -163,10 +163,10 @@ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.UIRoomControl_FormClosing); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); + this.contextMenuStrip1.ResumeLayout(false); this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.groupBox2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } diff --git a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs index 08a3f92..e0055ec 100644 --- a/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs +++ b/Mud Designer/MudEngine/UITypeEditors/UIRoomControl.cs @@ -232,7 +232,7 @@ namespace MudDesigner.MudEngine.UITypeEditors r = (Room)r.Load(lstRooms.SelectedItem.ToString(), _Zone.Name); File.Delete(r.InstallPath); lstRooms.Items.Remove(lstRooms.SelectedItem); - _Zone.Rooms.Remove(r); + _Zone.Rooms.Remove(r.Name); } } }