- 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.
- 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.
- 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)
- Code Optimizations
- Room Editor UI Tweaking
- Doorway Editor added
- Room Interface added.
- Rooms now contain a Realm Property so that users can easily figure out what Realm a designated Room belongs to.
- 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
- 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.