Commit graph

28 commits

Author SHA1 Message Date
Scionwest_cp
d40b8690d5 - Migrated additional content from MudDesigner solution to MudEngine.
- 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.
2010-07-15 20:21:56 -07:00
Scionwest_cp
f79a5d482b Engine:
- 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.
2010-02-06 20:56:15 -08:00
Scionwest_cp
59502408ce Designer:
- 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.)
2010-02-04 20:43:28 -08:00
Scionwest_cp
79f6d36083 Engine:
- 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.
2010-02-04 17:18:53 -08:00
Scionwest_cp
5f9a707b4c Engine:
- Added Character class PlayerBasic for the lowest authorized level
 - Added Character class PlayerAdmin that will provide some additional higher level authorized commands
 - Added Character class PlayerGM that will provide high level authorized commands
 - Added Factions class for future use of factions
 - Added Class class for future use of classes
 - Added Race class for future use of Races
 - Added NPCFriendly class for future use of Friendly NPCs
 - Added NPCHostile class for future use of Monster NPCs
 - Added CommandWalk class for future walk command
 - Added CommandGMTeleport class for future GM teleporting support.
 - Added Description property to the Door class.
2010-01-22 22:47:37 -08:00
Scionwest_cp
85aae88e34 Engine:
- 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)
2010-01-22 22:14:08 -08:00
Scionwest_cp
7c72fbb2e8 - Added Project Design Document (Not finished)
- Added Project Roadmap (Not finished, Requires OpenProject to be installed http://openproj.org/openproj)
 - Included a Readme file.
2010-01-22 21:45:15 -08:00
Scionwest_cp
f919539a89 Designer:
- Door Linking implementation started.
 - Duplicate directions are not allowed within a Room
 - If a User enters the name of a non-existing Room for linking to a Doorway, the Designer generates that Room for the User.
 - Room Editor now refreshes it's list of Rooms after the Doorway Manager closes so that auto generated Rooms are displayed.
 - Added new Doorway Manager UI

Engine:
 - Added Door.DoorwayExist() method to the Door class.
2010-01-21 23:33:14 -08:00
Scionwest_cp
de726021df Designer:
- Redesigned Doorway Manager
 - Reworked the Door class
 - Reworked the Room Class.
2010-01-21 22:02:36 -08:00
Scionwest_cp
2a88141b02 - Room Linking development started
- 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.
2010-01-19 18:44:18 -08:00
Scionwest_cp
afd74530cd Engine:
- 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
2010-01-17 18:58:26 -08:00
Scionwest_cp
9311435007 Refresh of repo required. 2010-01-17 18:56:44 -08:00
Scionwest_cp
dafcc55437 Mud Engine:
- Removed Attributes namespace and classes. Was not being used.
2010-01-10 18:00:49 -08:00
Scionwest_cp
ecd2645421 Mud Engine:
- Realm.Zones Property Category changed from "Realm Information" to "Environment Information"
 - Changed Zone.Rooms from internal to public
 - Added a custom Editor for the Zone.Rooms property.
 - Room Editing development started. Rooms are created and managed within the currently loaded Zone.
 - UIRealmEditor had un-unused code removed.
 - Added UIRoomEditor. Manages the UIRoomControl.
 - Added UIRoomControl, which will be the editor used when managing Rooms within a Zone Object.
2010-01-09 18:53:15 -08:00
Scionwest_cp
30a5ce61a3 Mud Designer:
- Deleted the Editors folder within the solution
 - Disabled the Edit Menu Item until it's menu items can be implemented
 - File->Exit now works
 - Help->About now works.
2010-01-09 18:19:14 -08:00
Scionwest_cp
ae672a29e1 Test Designer:
- UIControls namespace renamed to UIWidgets
 - RealmExplorer Control renamed to RealmWidget
 - RealmWidget now handles scanning and populating the Widget with existing realms rather than the designer handling it.
 - Object saving re-wrote
 - Zone Creation implemented
 - Adding Zones to Realms implemented
 - Removal of Zones from within Realms implemented
 - Support for stand-alone Zones added. Unlike the previous version of the 'Mud Designer Realm Explorer & Zone Builder', Zones can be built without being placed within a Realm
 - Deleting a Zone removes it from the Realms collection
 - Custom UITypeEditor added for adding Zones to Realms.
 - Menu item Project->Game Management has been re-structured
 - Saved file extensions on objects changed from .XML back to .ObjectType (example .realm)
 - RefreshProjectExplorer method added for refreshing the project explorer's directory structure
 - All calls to btnRefreshObjects_Click has been replaced with RefreshProjectExplorer()
 - The Project Explorer can now delete any object (file or folder) underneath the Project Root node.
 - The Project Explorer now has the files it contains highlighted as blue to help readability.
 - Changed the Project Explorer's root object from "Game Objects" to "Project"
 - Began implementation of the Project Explorer's search feature.
 - SaveSelected method added to save the current object contained within the property grid.
 - Anytime an Objects Property is changed the designer now automatically saves the object.
 - Object Properties label now displays the Type of object being edited and the objects name (Example 'Zone Properties (Village of Tespa)')

Mud Designer:
 - The New Test Designer has been set as the startup object, as the old designer toolkit is being phased out.

Mud Engine:
 - Added UIRealmControl class, a custom control used by the designer to edit the Realm.Zones property.
 - UIRealmEditor class added, manages the UIRealmControl.
2010-01-09 16:44:05 -08:00
Scionwest_cp
60aa7d8c33 Test Designer:
- Now allows for saving and loading of ProjectInformation and Currencies.
 - Realm Explorer control created for future Visual World system.
2010-01-07 19:43:16 -08:00
Scionwest_cp
ee3a8c2b60 Mud Designer:
- 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.
2010-01-03 20:48:25 -08:00
Scionwest_cp
90b7ca1a87 Mud Engine:
- 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.
2010-01-03 20:01:36 -08:00
Scionwest_cp
4f5fd633ba Zone Builder:
- 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.
2009-12-29 17:06:10 -08:00
Scionwest_cp
7da8fcfea9 - Rooms can now be linked together via the Doorway Manager. Use the Doorway manager for linking rooms even if they are contained within the same Zone as the same zone reverse door install is not implemented yet.
- TravelDirections now contains a TravelDirections.GetTravelDirectionValue which converts a string representing a direction into the corresponding AvailableTravelDirections enum value.
2009-12-08 20:28:52 -08:00
Scionwest_cp
d96a175372 - Added Settings for storing various Toolkit settings. 2009-12-08 16:44:24 -08:00
Scionwest_cp
c7f5a9b2a7 2009-12-08 10:34:20 -08:00
Scionwest_cp
4ebce0a987 Project Settings:
- 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).
2009-12-06 00:13:43 -08:00
Scionwest_cp
3cfa72ef69 - Complete re-work of the Realm Explorer and Zone Builder.
- 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
2009-12-04 23:15:33 -08:00
Scionwest_cp
f86975c8b9 Removed Engine.cs from the project file. 2009-12-03 13:18:25 -08:00
Scionwest_cp
379c6f844d - Renamed FileSystem.FileSystem.cs to FileSystem.FileManager.cs
- 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.
2009-12-02 18:57:03 -08:00
Scionwest_cp
b87136bc13 Project restructure completed. All editors now contained within a single Project.
Note that some things are still broken from the migration, but will be addressed.
2009-12-01 19:27:01 -08:00