MudEngine:
- Updated all game commands to support the new Player.Send() method. Returning CommandResults is no longer supported. - Login command now executes the Look command upon completing login. - Look command now supports Rooms DetailDescription property. Use this for multi-line descriptions. - Several changes to the Restart command. Still not working fully however, it no longer calls duplicate methods. - Fixed Walk command not moving players around. - Loading engine commands no longer happens more than once. - Added additional Server Console log output - BaseCharacter.Send() now correctly displays content to the user and prints the "Command:" message to the player after every command completed. - The Server now sets Player.IsControlled to true when a player connects. - BaseCharacter.Send() checks if the game is multi-player or not. If it is, it prints to Console, if not then prints to telnet clients. Mud Offline Example: - Updated Zeroth Realm creation to use Room.DetailDescription now that the Look command supports it. - Updated the Game loop. No longer needs to print to the console due to the player.Execute() command automatically printing content to the console. Mud Server: - Removed player from server as it was not being used any longer.
This commit is contained in:
parent
5c8c5b6ba1
commit
0f45ecec53
12 changed files with 116 additions and 61 deletions
|
@ -238,12 +238,31 @@ namespace MudEngine.GameManagement
|
|||
/// </summary>
|
||||
public bool Start()
|
||||
{
|
||||
Log.Write("Starting Game...");
|
||||
Log.Write("Game Initializing...");
|
||||
|
||||
//Setup the scripting engine and load our script library
|
||||
scriptEngine.Initialize();
|
||||
|
||||
Log.Write("Initializing location...");
|
||||
|
||||
/*
|
||||
* If a custom player script is loaded in the script engine, then the base commands are
|
||||
* loaded when the script is instanced automatically. If there is no script then these
|
||||
* don't get loaded and will need to be forced.
|
||||
* This prevents a duplicate "Loading Commands" message in the server console if the
|
||||
* player script exists and pre-loads the commands during script instancing in ScriptEngine.Initialize()
|
||||
*/
|
||||
Log.Write("Initializing Command Engine...");
|
||||
if ((CommandEngine.CommandCollection == null) || (CommandEngine.CommandCollection.Count == 0))
|
||||
CommandEngine.LoadBaseCommands();
|
||||
|
||||
if (IsDebug)
|
||||
{
|
||||
foreach (string command in CommandEngine.CommandCollection.Keys)
|
||||
Log.Write("Command Loaded: " + command);
|
||||
}
|
||||
|
||||
//See if we have an Initial Realm set
|
||||
//TODO: Check for saved Realm files and load
|
||||
Log.Write("Initializing World...");
|
||||
foreach (Realm r in RealmCollection)
|
||||
{
|
||||
if (r.IsInitialRealm)
|
||||
|
@ -260,12 +279,14 @@ namespace MudEngine.GameManagement
|
|||
return false;
|
||||
}
|
||||
else
|
||||
Log.Write("Initial Location defined -> " + InitialRealm.Name + "." + InitialRealm.InitialZone.Name + "." + InitialRealm.InitialZone.InitialRoom.Name);
|
||||
Log.Write("Initial Location loaded-> " + InitialRealm.Name + "." + InitialRealm.InitialZone.Name + "." + InitialRealm.InitialZone.InitialRoom.Name);
|
||||
|
||||
Log.Write("Starting Server...");
|
||||
//Start the Telnet server
|
||||
if (IsMultiplayer)
|
||||
{
|
||||
Log.Write("Starting Server...");
|
||||
this.StartServer();
|
||||
}
|
||||
|
||||
//Game is running now.
|
||||
IsRunning = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue