- Project Information can now be edited after a currency has been created via the Project->Game Management->Project Information menu item or right clicking on Game.xml within the Project Explorer.
- Fixed crashing when users tried to edit the root node in the Project Explorer.
- Added missing RealmExplorer control.
Note: Use the Project->Game Management->Currency Editor to create a new Currency. Then click Save Object to save the currency. You can save the initial Project Information shown at startup, however once a currency is created the project info cannot be retrieved until next startup. You can RIGHT click on the Project Explorer and edit object shown in the explorer.
- Added a new designer that I will begin working on and testing UITypeEditors with. Future plan is to migrate all editors into a single editor relying heavily on UITypeEditors to flesh it out.
- Selecting the Script property within the Designer.cs form executes the UIScriptEditor class and installs the UIScriptControl into the Designers control collection.
- Clicking close on the Designer.cs GUI showcases clearing the controls of custom UITypeEditors and how the results of the editing is saved into the object that the PropertyGrid is editing.
Mud Engine:
- Added a UIScriptControl User Control that the UIScriptEditor TypeEditor uses to install directly into the new Test Designer.
- Implemented a UITypeEditor for scripts to test developing custom UI Editors for PropertyGrids. It allows for scripts to be edited directly within the PropertyGrid now by launching the new ScriptEditor form. This is how most of the editors custom objects will be implemented into the PropertyGrids.
- The Script property is now browsable within PropertyGrids now that they have a custom editor built.
Mud Designer:
- ScriptEditor added.
- Removed Script editor from within the Realm Explorer and I will do the same for the Zone Explorer and Room Builder.
- All objects can now have a script attached to them from within any editor thanks to the new UITypeEditor approach being used.
- Realm Explorer now deletes whole realms correctly.
- Zone Builder no longer crashes when trying to open after the default Realm has been deleted. No Realm is loaded instead. Some initial setup code is skipped due to the error generated. This will be corrected in the next couple SVN commits.
- Currency Editor no longer adds duplicate currencies when saved.
- Currency Editor now overwrites existing currencies.
- Fixed Currency Editor looking for .xml filetypes instead of .currency filetypes. Saved Currencies now show up in the currency list
Mud Engine:
- Removed IsSafe property from BaseObject as not all objects will need this property.
- Added IsSafe property to Zone.cs
- Added IsSafe property to Room.cs.
- Doorways now show the Travel Direction the opposite doorway uses within the pop up tooltip.
- Doorway tooltips now show the Connected Room information in the doors popup tooltip when loaded.
DoorwayManager:
- Saves the connected rooms traveldirection within the Doorway now.
MudEngine:
- Door.ConnectedRoom struct now contains a TravelDirection Field for finding out what travel direction a connected room uses to return back to the original room.
- GameScript class added within the GameManagement namespace.
- 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.