- Removed the ManagedScripting Engine from the project. Scripting will be implemented at a later time using a custom build engine.
- Room.Load was re-wrote to allow for loading a supplied room name (not a full filename). The Room will load the supplied Roomname by checking within it's current Zone. Rooms within different Zones can be loaded by supplying a Zone name as one of the optional parameters. Same goes for loading Rooms within a different Realm
- All classes using the original Room.Load code have been tweaked to use the new code. Cuts the needed code used by each individual class by 80%.
- Room.InstallPath Property added for returning the full filename and location of the Room where it's currently installed.
Designer:
- Room Designer now supports deleting Rooms.
- Doorway Editor no longer fails when attempting to change doorway Traveling Directions.
Runtime:
- No longer prints blank lines if the object does not contain any text to print.
- Added a 2nd Print method with a boolean argument for printing blank lines by force if needed.
Note: Room Deleting and Room.Load code was only tested using Rooms within Root Zones. Rooms contained within a Zone owned by a Realm was not tested.
- Designer now has a status bar to show when various things are completed successfully.
- The Offline Runtime can now be launched via the Designers Project menu.
- Designer now features a 'Set As Initial Location' item within the Right-Click menu. Right Click on a Zone and assign it as your projects initial starting location.
Engine:
- BaseCharacter class fleshed out a little bit. Now includes an OnTravel method for player travel code.
- PlayerBasic class now inherits from BaseCharacter.
- ProjectInformation now supports setting the games initial zone location.
- ProjectInformation.Filename is now placed within a category (Object Settings) within the Property Pane of the Designer.
- Room.GetDoor method added for returning a specified door with the matching travel direction.
- StartingLocation now overrides ToString to return the location that's currently assigned to it for use within the Designer.
- Zone class now has an EntranceRoom Property for settings the default entrance room for the Zone. This is used by the Runtime and the designer when setting and retrieving the InitialLocation.
Offline Runtime:
- Now creates a basic player, loads the project and places the player within the entrance room designated by the InitialLocation.Zone
- Runtime contains code that automatically moves the player to the north during startup. This will be removed, it's only there for testing purposes.
- Runtime does not print anything to the console yet.
- Corrected SaveDataTypes.Currency being named incorrectly. Changed to Currencies
- ProjectInformation now inherits from the new IFileIO interface.
- ProjectInformation.Load can be used instead of the FileManager now (note: Saving of ProjectInformation must still be done using FileManager)
- Organizing of BaseObject done
- BaseObject now supports BaseObject.Load. Use this instead of FileManager.Load
- Fixed UIRealmControl error, attempting to deserialize into a null Zone Field
- Program.cs is now encapsulated into a try/catch
- IFileIO interface added for providing a blueprint on file I/O operations
Designer:
- Additional ObjectTypes added to the ObjectTypes enum
- Additional commenting provided throughout the source.
- Re-organized the source code.
- Simplified the Constructor code. Roughly 50% less code now.
- Re-wrote the Object Load code to make it easier to read and maintain.
- Renamed several menu items to conform to the projects naming conventions
- 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.