MUD Engine:
- Changed ValidateProjectPath to ValidateDataPaths. Now can use the engines current install location if a path is not supplied - ValidateDataPaths iterates through a new enumerator containing all of the data paths, and creates the directories if they dont exist. - GetDataPath method added for returning the absolute path to any of the save directories specified in the argument. - BaseObject now contains a readonly Filename property that returns the objects Name with it's Type assigned as the files extension. - BaseObject's Script property was added. - Room.StatDrain re-added. Changed property Type to boolean instead of custom struct. - Room Designer's constructor code was refracted to help clean it up. Plugin loading, doorway list compiling and room setup is now contained in three different methods. - Room Designer can now Save scripts. - Room Designer now has default scripts generated. - Changing the Object Management tabs to 'Script' now refreshes the script to display correctly. - Room Designer now accepts a single argument for specifying the name of a room to Load. Use "room=Room Name.room" as the syntax. - Room loading is implemented, but only via a supplied argument during application launch.
This commit is contained in:
parent
d7d92e49af
commit
1cc477f23c
13 changed files with 489 additions and 317 deletions
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
@ -11,14 +12,50 @@ namespace RoomDesigner
|
|||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
static void Main(string[] arguments)
|
||||
{
|
||||
MUDEngine.Engine.ValidateProjectPath(Application.StartupPath);
|
||||
MUDEngine.Engine.ValidateDataPaths();
|
||||
MUDEngine.FileSystem.FileSystem.FileType = MUDEngine.FileSystem.FileSystem.OutputFormats.XML;
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new frmMain());
|
||||
|
||||
//Check if we have a valid room supplied in the arguments.
|
||||
//The Zone editor can launch the Room Designer, if the user
|
||||
//chooses to edit a room from within the Zone Editor. Currently
|
||||
//Zone editor is the only planned editor that can allow users to
|
||||
//edit existing rooms. Simplifies it, as I don't need to design
|
||||
//a Realm/Zone/Room explorer in the Room or Realm editors.
|
||||
if (arguments.Length == 0)
|
||||
{
|
||||
Application.Run(new frmMain());
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (string argument in arguments)
|
||||
{
|
||||
//check if it's a room specified.
|
||||
if (argument.ToLower().StartsWith("room="))
|
||||
{
|
||||
int startIndex = "room=".Length;
|
||||
string room = argument.Substring(startIndex);
|
||||
string file = Path.Combine(Application.StartupPath, "Data\\Rooms\\") + room;
|
||||
|
||||
if (File.Exists(file))
|
||||
{
|
||||
Application.Run(new frmMain(room));
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Unable to locate the specified file."
|
||||
+ "Please ensure that it exists or the correct argument format was used.\n"
|
||||
+ "Room: " + file,
|
||||
"Room Designer", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
Application.Run(new frmMain());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue