Commit graph

13 commits

Author SHA1 Message Date
Scionwest_cp
a6d346da3d All of the classes that currently perform Save/Load operations now log when a Property failed to be loaded correctly. 2012-03-10 19:48:41 -08:00
Scionwest_cp
32210124e0 Commands script folder renamed to BaseCommands. Users creating custom commands are encouraged to create them in a "Commands" or "Custom Commands" folder. 2012-03-10 19:43:42 -08:00
Scionwest_cp
9b475691d5 Primarily a bug fix check-in 2012-03-10 14:23:13 -08:00
Scionwest_cp
43e93706ab Realm class now inherits from the new Environment class.
CharacterRole class created with helper static methods for converting strings to their correct CharacterRoles enum value.
Environment class has save/load support however Realms/Zones/Rooms do not yet.
2012-03-08 18:03:09 -08:00
Scionwest_cp
8639403255 DataPaths now have values for the games Root directory and Script directory.
DataPath class is now completed and includes a new SetExtension() method for setting game object file extensions.
Scripting support fully implemented.
StandardGame now contains a Initialize() method for compiling scripts and searching for sub-classes of StandardGame
Server app will now use a Scripted game class instead of the default StandardGame if one is present.
StandardGame.Start() is now virtual so child classes can override it.
Sample Game script created to show how to create a custom game script, including how to setup the game and create Rooms pragamatically.
ScriptFactory has a new method for searching all scripts and scripts that inherit from a specified class.
Renamed all of the Command scripts.  They no longer start with 'Command'.  Example: "CommandSay" has now become "Say".  There is no need to preceed the command name with the word "Command" anymore.
2012-03-05 20:30:54 -08:00
Scionwest_cp
a3eb1b5fad Began initial work on the game world. World, Realm, Zone, Room and Doorway classes created but not implemented. 2012-03-04 11:48:11 -08:00
Scionwest_cp
2622c2d8c7 * ConnectionManager now has a helper method for returning a Connected Character that matches the supplied name
* Added a new Command. SetRole allows Admins to assign a Server Role (Admin, Player, GM etc) to a specified character.  Server.ServerOwner is the only Character that can use this command regardless of server role.  Any other Character must have a Role of Admin in order to use it.
* StandardCharacter now checks if the character is connected as well as being enabled during execution of commands.
* Re-organized how the StandardCharacter save code was invoked during disconnection from server.
* StandardCharacter.Role is now saved and loaded from file.
2012-03-04 00:29:02 -08:00
Scionwest_cp
f2c5b594c5 * DataPaths now has two new helper methods. GetFilePath for returning the path to a supplied filename for a specified object type. GetExtension which returns a file extension for the specified object type.
* XMLData now contains a GetData() method for returning data from the stored data collection.
* XMLData now contains a Load() method for loading a previously saved XML data file.
* StandardCharacter now automatically generates a filename.
* StandardCharacter.Connected added.  Use Connected to check if they are connected to the server regardless of the values for Enabled and LoggedIn.  LoggedIn is now true once the Login command is completed.
* Default Character Role is now Player.
* Server.ServerOwner property added.  When a character is logged in matching the ServerOwner name, it will automatically be assigned the Admin role.
* StandardCharacter.ExecuteSilentCommand() method added for executing a command and not having the "Command: " line printed to the screen when the command is completed.  Useful for daisy chained commands.
* StandardCharacter login code is now 100% completed.  Including save/load code and new character creation.
* StandardCharacter.SetRole() method added.  Admins can set the role of any other character in the game if they want to.
* BaseScript & StandardCharacter now have their Load() code fully implemented.  They can save and load their files now.
* Player creation command added.  Can only be executed from within the login command.  If it is executed from any other object it will bail.
* Stop command now only works when a Character with Role = Admin issues the command.  During development of a MUD Game, this would typically be the Server.ServerOwner character who will have Admin rights.
* ConnectionManager had some bugs fixed such as not removing Threads from the Thread collection when a character disconnected.  Also re-organized the character connection code some.
2012-03-03 23:29:58 -08:00
Scionwest_cp
f0ec29c240 * XMLData.Save now has exception handling code in-place.
* Added better commenting to the majority of the projects files.
* Removed command support from the server console.
* Added a Client side command STOP that can be used to shut down the server.  In the future that will be specific to Admins only.
* Characters now have their save code invoked during server shut down.
* Server shut down code added.  Server.Stop() fully implemented.
2012-03-03 13:24:35 -08:00
Scionwest_cp
27f7e31772 * Re-wrote the Server code again. Now much more reliable and passes all connections to the ConnectionManager properly.
* StandardCharacter re-wrote to support the new Server code.  Also added event method support for various states.
* ConnectionManager re-wrote to support the new server.
* Work on Log message importance started
* INetworked.Connect now requires a Socket as its parameter.
* StandardGame no longer has Properties for MaxConnections and MaxQueuedConnections.  This is handle via StandardGame.Start() parameters.
* CommandLogin command added.  Initial check-in and not fully implemented.
2012-03-03 11:17:01 -08:00
Scionwest_cp
38bdf75bf1 XMLData class added. This will manage the saving and loading of all scripted objects during runtime. The saved files will be XML formatted.
Added rScript files to the engine.  These have not been implemented and currently don't work with the engine.
BaseScript has been modified to support the new XMLData class for saving data.
2012-02-29 20:06:14 -08:00
Scionwest_cp
d857b23dee Removal of BaseCommand class as Commands will inherit from ICommand like the original Command System did. 2012-02-28 20:12:40 -08:00
Scionwest_cp
3d8051c995 Initial Check-in for Alpha 2.0 source code.
Includes working Telnet server, working command engine and Character code.
2012-02-28 20:11:10 -08:00