- 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.
61 lines
2.4 KiB
C#
61 lines
2.4 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Windows.Forms;
|
|
|
|
namespace RoomDesigner
|
|
{
|
|
static class Program
|
|
{
|
|
/// <summary>
|
|
/// The main entry point for the application.
|
|
/// </summary>
|
|
[STAThread]
|
|
static void Main(string[] arguments)
|
|
{
|
|
MUDEngine.Engine.ValidateDataPaths();
|
|
MUDEngine.FileSystem.FileSystem.FileType = MUDEngine.FileSystem.FileSystem.OutputFormats.XML;
|
|
|
|
Application.EnableVisualStyles();
|
|
Application.SetCompatibleTextRenderingDefault(false);
|
|
|
|
//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());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|