- Added Controls namespace to the engine
- Copied VisualContainer and RoomControl from Visual Designer to MUDEngine.Controls namespace
- Added Control property to BaseObject, all objects now can have a custom UserControl that the Visual Designer will create during runtime when the object is dragged to the designer.
- Cleaned up un-used code
- Removed un-used Fields
- Rooms can now be saved via the UI
- Rooms can be loaded via a command line argument "room=Room Name.room"
- 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.
* Added Attributes namespace to hold custom attributes.
* UnusableAttribute.cs - Added to tag classes as unusable by the editors regardless if they inherit from BaseObject or not.
* BaseObject.cs - Contains OnEnter and OnExit methods
* InitialLocation.cs - UnusableAttribute tag applied.
Room Designer:
* frmMain.cs - Additional Script UI design.
* frmMain.cs - Added plugin support.
Plugin support is being tested. Room Designer is the testbed. It will ultimately end up inside MUDEngine.Engine. Curently (if ROOT/Plugins exists) loads all .dll files contained within the plugin directory. All classes inheriting from BaseObject and not tagged with the UnusableAttribute attribute automatically get added to the script editor.
* Door.cs - Now contains a TravelDirection property so rooms can find what travel direction each doorway within uses.
* Room - Now contains a collection for Installed Doors
* TravelDirections.cs - Now contains a 'None' enumerable value.
Room Designer:
* Did some additional work on implementing Installed Doors and handling their changing Installed/Uninstalled values.
* Moved editor buttons onto a Tab control, future test editors will be placed on a separate tab titled 'Testing Editors'
MUDEngine:
* Currency.cs - Added Default Values to Properties
* Door.cs - Added initial properties and door state
* ProjectInformation.cs - Removed StartingLocation enum and moved to Objects/Environment/InitialLocation.cs
* Room.cs - Added initial properties
* TravelDirections.cs - Added initial travel direction enum. Room Editor binds to this enum. Additional directions added in the future will automatically be added to the Room Designer.
* ProjectInformation.cs - ProjectName property renamed to GameTitle.
Room Designer:
* User interface re-constructed and is closer to the final state. Shouldn't change much from it's current configuration.
* Additional User Interface design changes.
The Room Designer UI layout has not been decided on as of yet, and thus numerous changes will probably be made to it over the next several days.
Room Designer:
* Visual Designer added to UI for visualizing a rooms layout.
* Sidebar added to Designer for Property editing and Tab Control browsing for additional editing options.