Commit graph

20 commits

Author SHA1 Message Date
Scionwest_cp
1d302413d2 Engine:
- Zones now adjusted to delete rooms matching the new collection method being used.

Designer:
 - Room Designer now supports the new Zones.Room collection
2010-02-19 16:04:17 -08: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
efc49e35ce Designer:
- 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.
2010-01-31 19:02:06 -08:00
Scionwest_cp
2ec31c0170 Engine:
- Zone.RefreshRoomList method was renamed to Zone.RebuildRoomCollection.

Designer:
 - Room Editor now adjusts all of a Rooms connected doorways to connect to a re-named Room. No need to manually load and edit each Room connected to 'Bedroom' after it was renamed from 'New Room'
2010-01-28 18:56:58 -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
42e6fef109 Major Changes:
- Rooms are now saved within the selected Zone.
 - Fixed Project Explorer not displaying project directory structure on Designer startup.

Engine:
 - Re-wrote Zone.GetRoom() to use the more efficient LINQ query.
 - Zone.RefreshRoomList now saves itself after re-building the Room collection
 - UIRoomControl now has a public Rooms collection for use by the UIRoomEditor
 - UIRoomEditor now returns the modified UIRoomControl.Rooms collection to the Designers properties pane instead of an empty collection.

Designer:
 - Project Explorer now displays project directory structure on load. This was broken during Designers Constructor re-write.
 - Added additional comments to increase readability of source.
2010-01-18 20:46:43 -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
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
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
7005b869e4 - Zone Builder now loads/saves rooms correctly.
- Zones now contain a RefreshRoomList() method for updating the collection of Rooms. MUST be called anytime a room is changed within the Zone. 
 - Removed the forced Realm constructor for zones.

Realm, Zone and Room creation is now working again.
2009-12-08 16:11:42 -08:00
Scionwest_cp
f9ee12aab2 - Removed forced exception for parameterless Zone instancing. Was throwing an exception during deserialization of the xml documention.
- Fixed the Select a Realm form from crashing when the listbox was clicked and no Realm was selected.
2009-12-08 15:54:47 -08:00
Scionwest_cp
44431ecade - Zones build their Room collection during instancing.
- Zones can not be instanced without providing the owning realm in its constructor.
 - Started adding tooltips to the editors.
 - Zone Builder now checks if a Realm has been loaded yet or not prior to creating Zones.
 - Zone Builder will not allow Rooms to be created within new Zones until the Zone has been saved.
 - Zone Builder checks if a New Zone has not been saved yet prior to creating another New Zone
 - Renamed Room.ParentZone to Room.Zone to be consistent with the Realm and Zone classes.
2009-12-08 15:49:43 -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
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
1206fccc9d - Realms, Zones and Room editors now are all working together.
- Deleting Realms now deletes all zones and rooms attached to it.
2009-12-04 23:56:32 -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