- TravelDirections now contains a TravelDirections.GetTravelDirectionValue which converts a string representing a direction into the corresponding AvailableTravelDirections enum value.
- Toolkit supports a default toolkit realm. Zone Builder now loads the default Realm each time it is opened. Allows developers to work on one Realm without having to re-select the Realm each time the Zone Builder is opened.
- Toolkit settings properties are no longer static within Settings.cs.
- Program.cs now contains a staticu property for Toolkit settings.
- Zones now contain a RefreshRoomList() method for updating the collection of Rooms. MUST be called anytime a room is changed within the Zone.
- Removed the forced Realm constructor for zones.
Realm, Zone and Room creation is now working again.
- Zones can not be instanced without providing the owning realm in its constructor.
- Started adding tooltips to the editors.
- Zone Builder now checks if a Realm has been loaded yet or not prior to creating Zones.
- Zone Builder will not allow Rooms to be created within new Zones until the Zone has been saved.
- Zone Builder checks if a New Zone has not been saved yet prior to creating another New Zone
- Renamed Room.ParentZone to Room.Zone to be consistent with the Realm and Zone classes.
- Cleaned up the code within the editor.
Realm Explorer:
- Some UI adjustments.
Room Designer:
- Program.Room is no longer re-instanced after the room designer saves a room.
Toolkit Launcher:
- Zone and Room edior buttons removed. They can now only be accessed via the Realm Explorer.
- Changed the Toolkit Title.
Zone Builder:
- Began Room Doorway linking UI design.
Mud Engine:
- Zones now instance the Rooms collection.
- Travel Directions now moved from Environment namespace and placed within Objects namespace.
- Travel Directions now contains a class and method for returning the opposite direction provided. (ex: GetReverseDirection(TravelDirections.West) returns East).
- Zones now delete all rooms it contains.
- Included the missing ExistingRealms form.
- Zones can now be moved from one realm to another, all Rooms are transfered with the Zone during the move.
- Realm Explorer & Zone Builder now work together correctly.
- Program.CurrentEditor now holds the currently running editor.
- BaseObject.ToString() added to return the Name of the object if ToString() is used.
- GetZone() method added to Realm.cs
- Realm Exporer, Zone Builder and Room Designer no longer attempt to shut down the toolkit when the Close button is clicked. Previous editor is restored.
- Moved ValidateDataPaths() from Engine.cs to FileManager.cs
- Moved GetDataPath() from Engine.cs to FileManager.cs
- Moved SaveDataTypes out from Engine.cs into it's own file. MudEngine.FileSystem.SaveDataTypes.cs
- Moved _CurrentRoom, _CurrentZone, _CurrentRealm and _ScriptEngine out from all editors containing those Fields, and placed them as static properties within Program.cs Room, Zone, Realm and ScriptEngine Properties
- Created 3 new Interfaces. IGameObject, IQuest and IRuleSet.
- Created QuestSetup class to begin working on Quest Editor at some point.
- Removed code for pathing. MudEngine handles it now.
- Removed _InstallLocation and placed it as a private Field within the MudEngine.Engine class.
- Mud Designer now Validates paths during startup
Mud Engine:
- Added Debug code to ValidateDataPaths and GetDataPath Methods. if DEBUG constant is defined it returns the paths or creates the directory structure based off the _InstallLocation field.
- Zones now contain a copy of the Realms Name
Realm Explorer:
- Renamed _Realm to _CurrentRealm to be more consistant with other editor naming conventions.
- Zones can now be added to Realms
- Realms can now be saved and loaded
- Zones not within any Realms are listed in the Realm Explorer as being Available For Use
- Realm Explorer Launchs the Zone Builder
- Added a messagebox on startup, indicating that the Room Designer and Zone Builder buttons will be removed shortly, as the preferred way to access the two editors will be via the Realm Explorer.
Room Designer:
- Code Cleanup
Zone Builder:
- Script engine implemented into the editor.
- Zones can now be saved.
- Room Editor link implemented. Room Designer can now be launched from within the Zone Builder.
- Corrected Builder not creating required directories correctly.
This marks the first version of the toolkit with the Realm Explorer, Zone Builder and Room Designer all linked together, however not fully complete.
- BaseObject now sets the default value for Name programmatically for the editors propertygrids.
- Room, Realm and Zone no longer set their Name Properties to their default value, BaseObject handles it.
Room Designer:
- Scripts where'nt being saved, this has been corrected.
- Rooms wheren't being loaded when supplied via the command line argument (Method is used by the Zone Builder)
- Displaying scripts within the Designer is now fixed.
Zone Builder:
- Now displays the Zone Object Properties in the property grid.
- Deleted from Solution.
Mud Designer:
- Now checks for arguments, allowing the other editors to launch the Mud Designer with another editor supplied as an argument, allowing one editor to launch another one without needing to copy-paste a bunch of code.
MUD Engine:
- BaseObject now sets default values for Script and Name so it's child classes won't need to.
- Realm and Room no longer set Name and Script property default values.
Realm Explorer:
- Now validates Script code.
- Changed from using Managed Scripting Serialization to MUDEngine filesystem layer for saving/loading.
- Added support for launching the Zone Builder from within the Realm Explorer.
Room Designer:
- Changed from using Managed Scripting Serialization code, to MUD Engine Filesystem layer for saving/loading.
Zone Builder:
- Initial UI Designs
- Launches Room Designer for editing of rooms.
- Assigned Default property values to some of the Realm class properties
Realm Explorer:
- Can now delete existing Realms
- Script tab included into explorer
- Realm base script is generated now.
- Realm Exporer now asks to overwrite an existing file prior to saving.
Room Designer:
- Creating a new room now resets the script.
- ValidateDataPaths no longer creates a ROOT folder as a child folder to the Data directory.
- The Realm class now has a Zones collection property.
- Adjusted Room and ProjectInformation Property Categories for Property Grid.
Realm Explorer:
- Now Save and Loads Realms
- Now calls MUDEngine.Engine.ValidateDataPaths() during startup to ensure all directories exists.
- New Realms can be created.
- Existing Realms are now loaded into the listbox.
- Prototype code wrote for finding available and un-available Zones.
- Almost complete UI
Zone Builder:
- Now calls MUDEngine.Engine.ValidateDataPaths() during startup to ensure all directories exists.
- Fixed ProjectInformation crashing the engine when it was serialized out by the Project Manager due to Currency serialization issues.
- Fixed ProjectInformation crashing the engine when it was serializing out the custom BaseObject Controls. [XmlIgnore()] attribute must be attached to each Control Property.
- Added Zone Builder and Realm Explorer to the Mud Designer Editor list.
- Currency Editor now loads and displays previously created Currencies within the list.
- 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.