Engine:
- Removed the ManagedScripting Engine from the project. Scripting will be implemented at a later time using a custom build engine. - Room.Load was re-wrote to allow for loading a supplied room name (not a full filename). The Room will load the supplied Roomname by checking within it's current Zone. Rooms within different Zones can be loaded by supplying a Zone name as one of the optional parameters. Same goes for loading Rooms within a different Realm - All classes using the original Room.Load code have been tweaked to use the new code. Cuts the needed code used by each individual class by 80%. - Room.InstallPath Property added for returning the full filename and location of the Room where it's currently installed. Designer: - Room Designer now supports deleting Rooms. - Doorway Editor no longer fails when attempting to change doorway Traveling Directions. Runtime: - No longer prints blank lines if the object does not contain any text to print. - Added a 2nd Print method with a boolean argument for printing blank lines by force if needed. Note: Room Deleting and Room.Load code was only tested using Rooms within Root Zones. Rooms contained within a Zone owned by a Realm was not tested.
This commit is contained in:
parent
59502408ce
commit
f79a5d482b
15 changed files with 147 additions and 92 deletions
|
@ -1 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?><ItemProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Properties><Property><Name>svn:mime-type</Name><Value>application/octet-stream</Value></Property></Properties></ItemProperties>
|
|
Binary file not shown.
|
@ -46,10 +46,6 @@
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ManagedScriptingWIN, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<SpecificVersion>False</SpecificVersion>
|
|
||||||
<HintPath>..\ManagedScriptingWIN.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core">
|
<Reference Include="System.Core">
|
||||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||||
|
|
|
@ -22,20 +22,8 @@ namespace MudDesigner.MudEngine.Characters
|
||||||
{
|
{
|
||||||
if (CurrentRoom.DoorwayExist(travelDirection.ToString()))
|
if (CurrentRoom.DoorwayExist(travelDirection.ToString()))
|
||||||
{
|
{
|
||||||
string fileName = "";
|
|
||||||
if (CurrentRoom.Realm == "No Realm Associated.")
|
|
||||||
{
|
|
||||||
fileName = Path.Combine(FileManager.GetDataPath(SaveDataTypes.Zones), CurrentRoom.Zone);
|
|
||||||
fileName = Path.Combine(fileName, "Rooms");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fileName = Path.Combine(FileManager.GetDataPath(CurrentRoom.Realm, CurrentRoom.Zone), "Rooms");
|
|
||||||
}
|
|
||||||
string connectedRoom = CurrentRoom.GetDoor(travelDirection).ConnectedRoom;
|
string connectedRoom = CurrentRoom.GetDoor(travelDirection).ConnectedRoom;
|
||||||
fileName = Path.Combine(fileName, connectedRoom);
|
CurrentRoom = (Room)CurrentRoom.Load(connectedRoom);
|
||||||
fileName += ".room";
|
|
||||||
CurrentRoom = (Room)CurrentRoom.Load(fileName);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,23 +33,8 @@ namespace MudDesigner.MudEngine.GameCommands
|
||||||
|
|
||||||
if (door.TravelDirection == direction)
|
if (door.TravelDirection == direction)
|
||||||
{
|
{
|
||||||
string zonePath = "";
|
room = (Room)room.Load(door.ConnectedRoom);
|
||||||
string roomPath = "";
|
|
||||||
string roomFilename = "";
|
|
||||||
|
|
||||||
if (room.Realm == "No Realm Associated.")
|
|
||||||
{
|
|
||||||
zonePath = FileManager.GetDataPath(SaveDataTypes.Zones);
|
|
||||||
zonePath = Path.Combine(zonePath, room.Zone);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
zonePath = FileManager.GetDataPath(room.Realm, room.Zone);
|
|
||||||
}
|
|
||||||
|
|
||||||
roomPath = Path.Combine(zonePath, "Rooms");
|
|
||||||
roomFilename = Path.Combine(roomPath, door.ConnectedRoom + ".room");
|
|
||||||
room = (Room)room.Load(roomFilename);
|
|
||||||
CommandResults cmd = CommandEngine.ExecuteCommand("Look", player, project, room, "Look");
|
CommandResults cmd = CommandEngine.ExecuteCommand("Look", player, project, room, "Look");
|
||||||
string lookValue = "";
|
string lookValue = "";
|
||||||
|
|
||||||
|
@ -57,7 +42,6 @@ namespace MudDesigner.MudEngine.GameCommands
|
||||||
lookValue = cmd.Result[0].ToString();
|
lookValue = cmd.Result[0].ToString();
|
||||||
|
|
||||||
return new CommandResults(new object[] { lookValue, room });
|
return new CommandResults(new object[] { lookValue, room });
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,9 +7,6 @@ using System.Text;
|
||||||
using MudDesigner.MudEngine.FileSystem;
|
using MudDesigner.MudEngine.FileSystem;
|
||||||
using MudDesigner.MudEngine.GameManagement;
|
using MudDesigner.MudEngine.GameManagement;
|
||||||
using MudDesigner.MudEngine.GameObjects;
|
using MudDesigner.MudEngine.GameObjects;
|
||||||
//ManagedScripting
|
|
||||||
using ManagedScripting;
|
|
||||||
using ManagedScripting.CodeBuilding;
|
|
||||||
|
|
||||||
namespace MudDesigner.MudEngine.GameManagement
|
namespace MudDesigner.MudEngine.GameManagement
|
||||||
{
|
{
|
||||||
|
|
|
@ -100,7 +100,6 @@ namespace MudDesigner.MudEngine.GameObjects
|
||||||
private string _Name = "";
|
private string _Name = "";
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Constructor & Private Methods
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes the base object
|
/// Initializes the base object
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -114,7 +113,6 @@ namespace MudDesigner.MudEngine.GameObjects
|
||||||
this.Listen = "You hear nothing of interest.";
|
this.Listen = "You hear nothing of interest.";
|
||||||
this.Smell = "You don't smell anything unsual.";
|
this.Smell = "You don't smell anything unsual.";
|
||||||
this.Name = DefaultName();
|
this.Name = DefaultName();
|
||||||
SetupScript();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ShouldSerializeName()
|
private bool ShouldSerializeName()
|
||||||
|
@ -132,39 +130,13 @@ namespace MudDesigner.MudEngine.GameObjects
|
||||||
return "New " + this.GetType().Name;
|
return "New " + this.GetType().Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetupScript()
|
|
||||||
{
|
|
||||||
//Check if the realm script is empty. If so then generate a standard script for it.
|
|
||||||
if (Script == "")
|
|
||||||
{
|
|
||||||
//Instance a new method helper class
|
|
||||||
ManagedScripting.CodeBuilding.MethodSetup method = new ManagedScripting.CodeBuilding.MethodSetup();
|
|
||||||
string script = "";
|
|
||||||
//Setup our method. All objects inheriting from BaseObject will have the standard
|
|
||||||
//methods created for them.
|
|
||||||
string[] names = new string[] { "OnCreate", "OnDestroy", "OnEnter", "OnExit" };
|
|
||||||
foreach (string name in names)
|
|
||||||
{
|
|
||||||
method = new ManagedScripting.CodeBuilding.MethodSetup();
|
|
||||||
method.Name = name;
|
|
||||||
method.ReturnType = "void";
|
|
||||||
method.IsOverride = true;
|
|
||||||
method.Modifier = ManagedScripting.CodeBuilding.ClassGenerator.Modifiers.Public;
|
|
||||||
method.Code = new string[] { "base." + method.Name + "();" };
|
|
||||||
script = script.Insert(Script.Length, method.Create() + "\n");
|
|
||||||
}
|
|
||||||
Script = script;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Loads the supplied filename and returns it.
|
/// Loads the supplied filename and returns it.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="filename"></param>
|
/// <param name="filename"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public object Load(string filename)
|
public virtual object Load(string filename)
|
||||||
{
|
{
|
||||||
if (!File.Exists(filename))
|
if (!File.Exists(filename))
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,9 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
using System.Drawing.Design;
|
using System.Drawing.Design;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
using MudDesigner.MudEngine.FileSystem;
|
||||||
using MudDesigner.MudEngine.UITypeEditors;
|
using MudDesigner.MudEngine.UITypeEditors;
|
||||||
|
|
||||||
namespace MudDesigner.MudEngine.GameObjects.Environment
|
namespace MudDesigner.MudEngine.GameObjects.Environment
|
||||||
|
@ -76,6 +78,26 @@ namespace MudDesigner.MudEngine.GameObjects.Environment
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Browsable(false)]
|
||||||
|
public string InstallPath
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
string zonePath = "";
|
||||||
|
if (this.Realm == null || this.Realm == "No Realm Associated.")
|
||||||
|
{
|
||||||
|
zonePath = FileManager.GetDataPath(SaveDataTypes.Zones);
|
||||||
|
zonePath = Path.Combine(zonePath, this.Zone);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
zonePath = FileManager.GetDataPath(this.Realm, this.Zone);
|
||||||
|
|
||||||
|
string roomPath = Path.Combine(zonePath, "Rooms");
|
||||||
|
string filename = Path.Combine(roomPath, this.Filename);
|
||||||
|
return filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Room()
|
public Room()
|
||||||
{
|
{
|
||||||
Doorways = new List<Door>();
|
Doorways = new List<Door>();
|
||||||
|
@ -103,5 +125,63 @@ namespace MudDesigner.MudEngine.GameObjects.Environment
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Load a Room that exists within the same Zone as the current Room
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="roomName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override object Load(string roomName)
|
||||||
|
{
|
||||||
|
//Correct the roomname incase it doesnt contain a file extension
|
||||||
|
if (!roomName.ToLower().EndsWith(".room"))
|
||||||
|
roomName += ".room";
|
||||||
|
|
||||||
|
//If the current room does not belong within a Realm, then load it from the
|
||||||
|
//Zones root directory
|
||||||
|
if (this.Realm != null || this.Realm != "No Realm Associated.")
|
||||||
|
{
|
||||||
|
return this.Load(roomName, this.Zone);
|
||||||
|
}
|
||||||
|
//This Zone is contained within a Realm so we have to load it from within the
|
||||||
|
//Realm and not from within the Zones root directory
|
||||||
|
else
|
||||||
|
return this.Load(roomName, this.Zone, this.Realm);
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Load(string roomName, string zoneName)
|
||||||
|
{
|
||||||
|
string filename = "";
|
||||||
|
if (!roomName.ToLower().EndsWith(".room"))
|
||||||
|
roomName += ".room";
|
||||||
|
|
||||||
|
if (this.Realm != null && this.Realm != "No Realm Associated.")
|
||||||
|
{
|
||||||
|
return this.Load(roomName, zoneName, this.Realm);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
filename = FileManager.GetDataPath(SaveDataTypes.Zones);
|
||||||
|
|
||||||
|
filename = Path.Combine(filename, zoneName);
|
||||||
|
filename = Path.Combine(filename, "Rooms");
|
||||||
|
filename = Path.Combine(filename, roomName);
|
||||||
|
|
||||||
|
return base.Load(filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Load(string roomName, string zoneName, string realmName)
|
||||||
|
{
|
||||||
|
if (!roomName.ToLower().EndsWith(".room"))
|
||||||
|
roomName += ".room";
|
||||||
|
|
||||||
|
string filename = FileManager.GetDataPath(realmName, zoneName);
|
||||||
|
filename = Path.Combine(filename, "Rooms");
|
||||||
|
filename = Path.Combine(filename, roomName);
|
||||||
|
|
||||||
|
if (realmName == null || realmName == "No Realm Associated.")
|
||||||
|
return this.Load(roomName, zoneName);
|
||||||
|
|
||||||
|
return base.Load(filename);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,7 +128,8 @@ namespace MudDesigner.MudEngine.GameObjects.Environment
|
||||||
foreach (string file in rooms)
|
foreach (string file in rooms)
|
||||||
{
|
{
|
||||||
Room r = new Room();
|
Room r = new Room();
|
||||||
r = (Room)FileManager.Load(file, r);
|
r = (Room)r.Load(Path.GetFileNameWithoutExtension(file));
|
||||||
|
//r = (Room)FileManager.Load(file, r);
|
||||||
this.Rooms.Add(r);
|
this.Rooms.Add(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ namespace MudDesigner.MudEngine.UITypeEditors
|
||||||
propertyDoorway.Refresh();
|
propertyDoorway.Refresh();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (_Room.DoorwayExist(e.ChangedItem.Value.ToString()))
|
else if (lstInstalledDoors.Items.Contains(e.ChangedItem.Value.ToString()))
|
||||||
{
|
{
|
||||||
MessageBox.Show("This direction has already been installed into the room. Please select another direction.", "Mud Designer");
|
MessageBox.Show("This direction has already been installed into the room. Please select another direction.", "Mud Designer");
|
||||||
_Door = (Door)propertyDoorway.SelectedObject;
|
_Door = (Door)propertyDoorway.SelectedObject;
|
||||||
|
@ -88,6 +88,11 @@ namespace MudDesigner.MudEngine.UITypeEditors
|
||||||
propertyDoorway.Refresh();
|
propertyDoorway.Refresh();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lstInstalledDoors.Items.Remove(e.OldValue.ToString());
|
||||||
|
lstInstalledDoors.Items.Add(e.ChangedItem.Value.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (e.ChangedItem.Label == "ConnectedRoom")
|
else if (e.ChangedItem.Label == "ConnectedRoom")
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UIRoomControl));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UIRoomControl));
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
this.lstRooms = new System.Windows.Forms.ListBox();
|
this.lstRooms = new System.Windows.Forms.ListBox();
|
||||||
|
@ -37,9 +38,12 @@
|
||||||
this.txtFindRoom = new System.Windows.Forms.ToolStripTextBox();
|
this.txtFindRoom = new System.Windows.Forms.ToolStripTextBox();
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
this.propertyRoom = new System.Windows.Forms.PropertyGrid();
|
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.groupBox1.SuspendLayout();
|
||||||
this.toolStrip1.SuspendLayout();
|
this.toolStrip1.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
|
this.contextMenuStrip1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
|
@ -57,6 +61,7 @@
|
||||||
//
|
//
|
||||||
// lstRooms
|
// lstRooms
|
||||||
//
|
//
|
||||||
|
this.lstRooms.ContextMenuStrip = this.contextMenuStrip1;
|
||||||
this.lstRooms.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.lstRooms.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.lstRooms.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lstRooms.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lstRooms.FormattingEnabled = true;
|
this.lstRooms.FormattingEnabled = true;
|
||||||
|
@ -124,6 +129,20 @@
|
||||||
this.propertyRoom.ToolbarVisible = false;
|
this.propertyRoom.ToolbarVisible = false;
|
||||||
this.propertyRoom.PropertyValueChanged += new System.Windows.Forms.PropertyValueChangedEventHandler(this.propertyRoom_PropertyValueChanged);
|
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
|
// UIRoomControl
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -147,6 +166,7 @@
|
||||||
this.toolStrip1.ResumeLayout(false);
|
this.toolStrip1.ResumeLayout(false);
|
||||||
this.toolStrip1.PerformLayout();
|
this.toolStrip1.PerformLayout();
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
|
this.contextMenuStrip1.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -161,5 +181,7 @@
|
||||||
private System.Windows.Forms.GroupBox groupBox2;
|
private System.Windows.Forms.GroupBox groupBox2;
|
||||||
private System.Windows.Forms.PropertyGrid propertyRoom;
|
private System.Windows.Forms.PropertyGrid propertyRoom;
|
||||||
public System.Windows.Forms.ListBox lstRooms;
|
public System.Windows.Forms.ListBox lstRooms;
|
||||||
|
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem mnuDeleteRoom;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -145,8 +145,7 @@ namespace MudDesigner.MudEngine.UITypeEditors
|
||||||
{
|
{
|
||||||
//Load the connected room
|
//Load the connected room
|
||||||
Room r = new Room();
|
Room r = new Room();
|
||||||
fullFilename = Path.Combine(savePath, d.ConnectedRoom + ".room");
|
r = (Room)r.Load(d.ConnectedRoom);
|
||||||
r = (Room)r.Load(fullFilename);
|
|
||||||
//Loop though each of its doorways to see if any of them are attached
|
//Loop though each of its doorways to see if any of them are attached
|
||||||
//to are old room name
|
//to are old room name
|
||||||
foreach (Door renamedDoor in r.Doorways)
|
foreach (Door renamedDoor in r.Doorways)
|
||||||
|
@ -211,7 +210,7 @@ namespace MudDesigner.MudEngine.UITypeEditors
|
||||||
zoneRoomPath = Path.Combine(zonePath, "Rooms");
|
zoneRoomPath = Path.Combine(zonePath, "Rooms");
|
||||||
roomFile = Path.Combine(zoneRoomPath, roomName);
|
roomFile = Path.Combine(zoneRoomPath, roomName);
|
||||||
_Room = new Room();
|
_Room = new Room();
|
||||||
_Room = (Room)_Room.Load(roomFile);
|
_Room = (Room)_Room.Load(roomName, _Zone.Name, _Zone.Realm);
|
||||||
propertyRoom.SelectedObject = _Room;
|
propertyRoom.SelectedObject = _Room;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,5 +219,20 @@ namespace MudDesigner.MudEngine.UITypeEditors
|
||||||
if (!CheckSavedState())
|
if (!CheckSavedState())
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mnuDeleteRoom_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (lstRooms.SelectedIndex == -1)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Select a Room to delete first!", "Mud Designer");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Room r = new Room();
|
||||||
|
r = (Room)r.Load(lstRooms.SelectedItem.ToString(), _Zone.Name);
|
||||||
|
File.Delete(r.InstallPath);
|
||||||
|
lstRooms.Items.Remove(lstRooms.SelectedItem);
|
||||||
|
_Zone.Rooms.Remove(r);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,9 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>122, 17</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -10,9 +10,6 @@ using MudDesigner.MudEngine.FileSystem;
|
||||||
using MudDesigner.MudEngine.GameManagement;
|
using MudDesigner.MudEngine.GameManagement;
|
||||||
using MudDesigner.MudEngine.GameObjects;
|
using MudDesigner.MudEngine.GameObjects;
|
||||||
using MudDesigner.MudEngine.GameObjects.Environment;
|
using MudDesigner.MudEngine.GameObjects.Environment;
|
||||||
//Script Engine
|
|
||||||
using ManagedScripting;
|
|
||||||
using ManagedScripting.CodeBuilding;
|
|
||||||
|
|
||||||
namespace MudDesigner
|
namespace MudDesigner
|
||||||
{
|
{
|
||||||
|
|
|
@ -66,8 +66,17 @@ namespace MudDesigner
|
||||||
}
|
}
|
||||||
public void Print(string message)
|
public void Print(string message)
|
||||||
{
|
{
|
||||||
|
if (string.IsNullOrEmpty(message))
|
||||||
|
return;
|
||||||
|
|
||||||
txtConsole.Text += message + "\n";
|
txtConsole.Text += message + "\n";
|
||||||
txtConsole.Select(txtConsole.Text.Length, 0);
|
txtConsole.Select(txtConsole.Text.Length - 1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Print(bool newLine)
|
||||||
|
{
|
||||||
|
txtCommand.Text += "\n";
|
||||||
|
txtConsole.Select(txtConsole.Text.Length - 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Runtime_Load(object sender, EventArgs e)
|
private void Runtime_Load(object sender, EventArgs e)
|
||||||
|
@ -79,36 +88,24 @@ namespace MudDesigner
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_Project = (ProjectInformation)_Project.Load(FileManager.GetDataPath(SaveDataTypes.Root));
|
_Project = (ProjectInformation)_Project.Load(FileManager.GetDataPath(SaveDataTypes.Root));
|
||||||
if ((_Project.InitialLocation.Zone == null) || (_Project.InitialLocation.Zone == ""))
|
if (_Project.InitialLocation.Zone == null && _Project.InitialLocation.Zone == "")
|
||||||
{
|
{
|
||||||
Print("No Initial Zone was defined within the Project Information. Please associated a Zone to the Projects Initial Zone setting in order to launch the game.");
|
Print("No Initial Zone was defined within the Project Information. Please associated a Zone to the Projects Initial Zone setting in order to launch the game.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Print("Loading environment...");
|
Print("Loading environment...");
|
||||||
string filename = FileManager.GetDataPath(SaveDataTypes.Root);
|
|
||||||
if (!String.IsNullOrEmpty(_Project.InitialLocation.Realm) && (_Project.InitialLocation.Realm != "No Realm Associated."))
|
|
||||||
{
|
|
||||||
filename = Path.Combine(filename, "Realms");
|
|
||||||
filename = Path.Combine(filename, _Project.InitialLocation.Realm);
|
|
||||||
}
|
|
||||||
|
|
||||||
filename = Path.Combine(filename, "Zones");
|
_Room = (Room)_Room.Load(_Project.InitialLocation.Room, _Project.InitialLocation.Zone);
|
||||||
filename = Path.Combine(filename, _Project.InitialLocation.Zone);
|
|
||||||
filename = Path.Combine(filename, "Rooms");
|
|
||||||
filename = Path.Combine(filename, _Project.InitialLocation.Room);
|
|
||||||
filename += ".room";
|
|
||||||
_Room = (Room)_Room.Load(filename);
|
|
||||||
|
|
||||||
Print("Prepping test player...");
|
Print("Prepping test player...");
|
||||||
_Player.CurrentRoom = _Room;
|
_Player.CurrentRoom = _Room;
|
||||||
_Player.OnTravel(AvailableTravelDirections.North);
|
|
||||||
|
|
||||||
Print("Loading Game Commands...");
|
Print("Loading Game Commands...");
|
||||||
CommandEngine.LoadAllCommands();
|
CommandEngine.LoadAllCommands();
|
||||||
|
|
||||||
Print("Startup Complete.");
|
Print("Startup Complete.");
|
||||||
Print(""); //blank line
|
Print(true); //blank line
|
||||||
txtCommand.Select();
|
txtCommand.Select();
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(_Project.CompanyName))
|
if (string.IsNullOrEmpty(_Project.CompanyName))
|
||||||
|
@ -136,7 +133,7 @@ namespace MudDesigner
|
||||||
else
|
else
|
||||||
Print(_Project.Story);
|
Print(_Project.Story);
|
||||||
|
|
||||||
Print("");//blank line
|
Print(true);//blank line
|
||||||
ExecuteCommand("Look");
|
ExecuteCommand("Look");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue