MudEngine:
- FileManager.GetDataPath now returns the actual Root directory when Root is requested rather than Root/Projects. That was considered Root for the older Designer. - CommandEngine.GetCommands is now a method rather than a property. - CommandEngine.LoadAllCommands replaced with CommandEngine.LoadBaseCommands for loading Engine specific Game commands. This is called from within Game.Start. A possible property for disabling default commands could be looked at in the future. - CommandEngine.LoadCommandLibrary method added for loading custom user commands. This is fully implemented. - CommandEngine.ClearCommands method added for clearing all currently loaded commands. - Game.IsDebug static property added. - Added additional logging for testing purposes throughout the project. Changing Game.IsDebug to false will remove the majority of the logged messages. - Game.IsMultiplayer property added for enabling or disabling the server for Online/Offline support. Fully implemented. - Game no longer loads user script libraries as this was being handled already by ScriptEngine.Initialize() - Log now caches messages so consoles can print only content that was logged since the last loop. Using Log.FlushMessages() will clear the cached messages allowing each loop to show only the new logged messages. - BaseCharacter IsAdmin argument in the constructor has been removed. No longer needed for testing. - ScriptEngine can now compile more than 1 script without error. - ScriptEngine.Assembly property added for accessing the currently loaded script library. This should be a List<Assembly> in the future for multiple libraries. - Removed the last of my BlitScript engine code from ScriptEngine.cs as it was XNA specific. Need to look at StartupObject.cs as I believe that is XNA specific as well and not needed. MudGame: - Renamed MudGame to MudOfflineExample as it will be used for testing the game with Game.IsMultiplayer disabled. Makes testing easier then needing to stop/restart the server and connect via telnet constantly. MudServer: - Added MudServer project. This is a dedicated server that runs with Game.IsMultiplayer enabled. Developers can connect to it via telnet clients. All engine game commands are implemented. - MudServer includes bin/Debug/Scripts.dll, which is a compiled library of scripts generated via MudCompiler. MudEngine.Game handles loading the library and there is no additional code required by the developers to implement their libraries into their games provided the name is 'Scripts.dll'
This commit is contained in:
parent
281fe4b320
commit
793c3cf1e9
20 changed files with 334 additions and 68 deletions
|
@ -64,12 +64,11 @@ namespace MudEngine.FileSystem
|
|||
string assemblyPath = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
|
||||
string assemblyName = System.IO.Path.GetFileName(assemblyPath);
|
||||
string installBase = assemblyPath.Substring(0, assemblyPath.Length - assemblyName.Length);
|
||||
string rootPath = System.IO.Path.Combine(installBase, "Project");
|
||||
|
||||
if (DataType == SaveDataTypes.Root)
|
||||
return rootPath;
|
||||
return installBase;
|
||||
else
|
||||
return System.IO.Path.Combine(rootPath, DataType.ToString());
|
||||
return System.IO.Path.Combine(installBase, DataType.ToString());
|
||||
}
|
||||
|
||||
public static string GetDataPath(string Realm, string Zone)
|
||||
|
@ -77,11 +76,10 @@ namespace MudEngine.FileSystem
|
|||
string assemblyPath = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
|
||||
string assemblyName = System.IO.Path.GetFileName(assemblyPath);
|
||||
string installBase = assemblyPath.Substring(0, assemblyPath.Length - assemblyName.Length);
|
||||
string rootPath = System.IO.Path.Combine(installBase, "Project");
|
||||
string realmsPath = System.IO.Path.Combine(rootPath, "Realms");
|
||||
string requestRealm = Path.Combine(realmsPath, Realm);
|
||||
string requestedRealmZones = Path.Combine(requestRealm, "Zones");
|
||||
string requestedZone = Path.Combine(requestedRealmZones, Zone);
|
||||
string realmsPath = System.IO.Path.Combine(installBase, "Realms");
|
||||
string requestRealm = Path.Combine(installBase, Realm);
|
||||
string requestedRealmZones = Path.Combine(installBase, "Zones");
|
||||
string requestedZone = Path.Combine(installBase, Zone);
|
||||
|
||||
return requestedZone;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue