- Updated MudDesigner to reference the new MudEngine solution.
- MudDesigner currently references engine classes within it's own solution and the MudEngine solution. This will be addressed soon. All classes related to the engine will be moved to the MudEngine project.
- Began prepping for the removal of all UITypeEditor classes and the namespace from the MudDesigner project.
Please note that while this version will compile, it is currently broken. Projects do not get created correctly due to the migration I'm performing. The designer is given less priority at the moment as the engine is the primary focus. Projects will need to be hard-coded using the MudEngine library until the designer is fixed.
- 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.
- Now supports the exit command, prevents the designer from crashing.
Runtime:
- Added a GUI based set of buttons for traversing your environments via a click-through method instead of forcing users to type commands.
Engine:
- Added the Exit command to exit the runtime (At this time it shuts down the Designer as well.)
- Changed the IGameCommand Interface constructor for the Execute method.
- Updated all of the game commands to make use of the new Execute Method Constructor requirements set by the updated interface.
- Look command now returns a description of the players current Room.
- Walk command now supports moving players from one Room to another. Use 'Walk Direction' where Direction equals the direction you want to travel (Example: 'Walk North")
- TravelDirections.GetTravelDirectionValue now checks the supplied direction value in a case-insensitive manor.
- Add a new CommandEngine that handles the commands inputed from the user.
- Modified CommandResult to return an array of objects rather than a single object.
Runtime:
- Now scans the supplied collection of objects returned to the runtime after executing a game command, and adjusts the runtime components as needed, including printing information to the console.
- Now displays various warnings during startup to let the user know if certain content hasn't been set within the ProjectInformation yet.
- Now executes the 'Look' command on startup to display the users current location.
- Fully supports the 'Look' and 'Walk' commands.
- 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.
- Added GameCommands namespace for holding all of the game command classes
- Added ICommand interface for game commands.
- Added IPlayer interface for player classes.
- Added CommandLook for prepping the Test Runtime for looking at environments.
Misc:
- Updated Mud Designer Project Roadmap file (MudDesigner.pod)
- Doorway Linking is now completed.
- Auto-Generated Rooms are now linked back to the Doorway that created them.
Runtime:
- Began implementing a very simple Runtime for offline testing.
Engine:
- Room Editor now saves a Room after it has had a Doorway change made to it.
- Fixed the missing Doorways issue after closing the Room Editor.