Commit graph

16 commits

Author SHA1 Message Date
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
d5ebbe186f Major Changes:
- Finalized Adding/Removing Zones from within Realms (their Rooms included.)
 - Finalized Deleting objects.
 - Rooms can now be loaded and edited after Saving.

Minor Changes:
 - Code Optimizations
 - Object Property organizing improved.
2010-01-19 15:08:19 -08:00
Scionwest_cp
0395acb0f9 Designer:
- Renamed SaveSelected() to SaveObject()
 - Added additional commenting
 - Re-formatted the document
 - Moved the search code out from the text box and into its own method SearchForObject()
 - Changed search method for the text box from txtSearch_Enter to txtSearch_KeyDown
 - Re-write of object save code finished.

Engine:
 - Realm.GetZone() re-wrote to use LINQ.
 - Zone.GetRoom() renamed to Zone.GetRoomByName() for searching for a Room by name
 - Zone.GetRoomByFilename() added for searching by filename for a Room.
 - Re-wrote Adding Zones into Realms via the UIRealmControl. Uses 54% less source, and better readability.
 - UIRealmEditor now stores a proper backup of Zones incase of UIRealmControl instancing failure.
2010-01-19 13:09:33 -08:00
Scionwest_cp
a98e2bc069 Designer:
- Corrected Project Information not being displayed when loaded for editing
 - Re-wrote Designer Save code to use the objects save code instead of FileManager. Resulted in 26% less code and cleaner source.
 - Project Explorer now checks Saved State of currently loaded object just like the Right-Click->Edit Object menu item does.

Engine:
 - ProjectInformation.Save() now implemented.
 - BaseObject.Save() now implemented. All objects inheriting from BaseObject can save itself. Including all Environment objects (Realms,Zones, Rooms) and Currency objects.
2010-01-18 21:31:47 -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
98857cc0de Mud Designer:
- Auto-saving objects is now complete.
 - Removed Save Object button
 - Object Properties no longer displays the Project Information on startup
 - Objects that can be edited within the Designer are displayed in Blue in the treeview
 - Objects that can only be edited within another objects Mini-Editor are displayed in Red and cannot be edited within the main Designer
 - Folders are displayed in Black
 - Objects are not auto-saved until the objects Name is changed from 'New Object'
 - The designer checks to see if the object has been saved yet prior to creating a new object.
 - Double clicking an editable object (shown in blue text) now loads the object for editing.
 - Menu item Project->Game Objects->Environment->New Room opens the Zones Mini-Room Editor if a Zone is loaded.
 - Tooltips added to the Project Explorer and Object Properties panes

Mud Engine:
 - FileManager returns the new directory layout when using GetDataPath
 - Added Zones to SaveDataTypes enum.
 - Game Objects now have a Description attribute attached to their public properties so the Designer can display a description of what the property is for within the Object Properties pane.
 - Added PreCacheObjects Boolean to ProjectInformation for pre-loading objects when the runtime is built.
 - All objects Filename is now set to readonly and cannot be edited within the Designer
 - Started work on Realm.GetZone() method.
 - Room.Zone is no longer hidden from the Object Properties Pane, but set to Readonly.
 - Began work on Moving a Zones Rooms when a Zone is moved within a Realm. 
 - Removed un-needed code within the RealmEditor 
 - UIRoomControl now creates and saves Rooms. Duplicate Rooms cannot be created and Room re-naming is implemented.
 - Removed remaining old code for previous Mud Designer Editors from within Program.cs
2010-01-10 17:57:52 -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
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
49a6e31019 Mud Designer:
- 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.
2010-01-03 14:39:15 -08:00
Scionwest_cp
dfbc92c5d0 Zone Builder now creates Zones within different Realms, save and loads them. You can have two Realms, each containing a Zone with the exact same name with the new folder setup. 2009-12-08 11:53:38 -08:00
Scionwest_cp
c7f5a9b2a7 2009-12-08 10:34:20 -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
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