- 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 AvailableTravelDirections enum added to the constructor arguments. Doors now require a TravelDirection to be specified as an argument when instanced.
Room Designer:
* frmMain.cs - renamed door field to _CurrentDoor.
* frmMain.cs - renamed room field to _CurrentRoom.
* frmMain.cs - Added detailed commenting.
* frmMain.cs - Doorways can now be installed and uninstalled from a room. While it was available within the editor, it was not implemented fully until now.
* frmMain.cs - Removed most of the doorway management code from the propertyDoor_PropertyValueChanged method, and broke the code down into several smaller methods for easier maintenance.
* frmMain.cs - Added InstallDoor() method for installing doorways from rooms.
* frmMain.cs - Added UninstallDoor() method for uninstalling doorways from rooms.
* frmMain.cs - Added GetDirection() method, converts a string representation of a TravelDirection into an actual TravelDirection enum value for use with creating a Door.
* 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.