Mud Designer:

- Added new Project. Mud Designer project will include the GUI elements needed for graphically building a MUD. Due to Environment creation being finalized, work on a GUI based Environment creation can start.

Mud Engine:
 - Objects no longer require a path to be supplied when calling Object.Save()
 - EditRealm command now edits senses.
 - EditRoom now fully supports creating doorways, however editing existing doorways and linking to existing rooms is not implemented. This command only supports creating new doorways for non-existing Rooms (Rooms are generated as needed)
 - EditZone Now fully supports senses and implemented.
 - Game now supports loading of .ini files when calling Game.Load()
 - All objects now include a SavePath properties. Override this to supply a path for where the object needs to be saved. All Environment and BaseCharacter objects override the BaseObject.SavePath to save into ActiveGame.DataPaths.Environemnts and Players respectively.
 - ObjectCollection now instanced during ScriptEngine initialization to prevent exceptions during runtime.
 - Create command no longer converts all names to lower case.
 - Updated the Walk command to execute the Look command in a safe manor without injecting a command into the player Telnet console.
This commit is contained in:
Scionwest_cp 2010-09-26 08:00:34 -07:00
parent 304b2d07eb
commit a347607337
35 changed files with 2013 additions and 60 deletions

View file

@ -52,6 +52,13 @@
}
}
protected override string SavePath
{
get
{
return ActiveGame.DataPaths.Players;
}
}
/// <summary>
/// Gets or Sets if this Character is controlled by the user. If not user controlled then it will be AI controlled.
/// </summary>
@ -92,6 +99,12 @@
/// </summary>
public CommandEngine CommandSystem { get; internal set; }
/// <summary>
/// Gets or Sets the characters stats.
/// Note that this will more and likely become Read-Only in the future.
/// </summary>
public BaseStats Stats { get; set; }
public BaseCharacter(Game game) : base(game)
{
ActiveGame = game;
@ -187,11 +200,11 @@
*/
}
public override void Save(String path)
public override void Save()
{
base.Save(path);
base.Save();
path = Path.Combine(path, Filename);
String path = Path.Combine(SavePath, Filename);
FileManager.WriteLine(path, this.Password, "Password");
FileManager.WriteLine(path, this.IsControlled.ToString(), "IsControlled");
@ -281,7 +294,7 @@
Name = playerName;
Password = password;
Save(ActiveGame.DataPaths.Players);
Save();
}
public bool VarifyPassword(string password)
@ -392,7 +405,7 @@
{
if (IsActive)
{
this.Save(ActiveGame.DataPaths.Players);
this.Save();
Send("Goodbye!");
IsActive = false;