- Removed External Script compilation support for now. I'll add it back once I provide SourceFile and SourceCode compiling support to the MudScriptCompiler. At the moment only Whole Directory compiling is supported.
MudDesigner:
- Removed all of the source code, with the exception of the designer generated source, from frmProjectManager. It will need to be re-wrote due to the removal of the MudScriptEngine.
MudEngine:
- Deleted Scripting.GameObject
- Deleted Scripting.GameObjectCollection
- Deleted Scripting.ScriptEngine
- Deleted classes were replaced by the rScript engine. Only class needed now is the MudScriptCompiler, which handles all of the custom MudEngine script compiling, using the rScript Engine.
- Removed old Scripting.ScriptEngine references from within GameManagement.Game
- GameManagement.Game no longer checks to see if MudEngine.dll exists. If it didn't exist, the engine wouldn't be running to perform that check in the first place.
- GameManagement.Game no longer adds MudEngine.dll as a referenced assembly. The MudScriptCompiler handles that during compilation.
- MudScriptCompiler.Compile() always returns false when SourceFile or SourceCode is passed as an argument. Only Script Directories can be compiled at this time.
MudGame:
- Removed references to Scripting.ScriptEngine from MudGame.Program
- Re-wrote how scripted Type's that inherit and replace MudEngine.GameManagement.Game.
Scripts are compiled prior to Game.Start() being invoked, allowing GameManagement.Game to be replaced with an inherited class from a compiled script.
TODO: Look at a way to prevent Game.Start() from compiling the scripts again, as they have already been compiled once. It's not a big hit on startup time, but it needs to be wrote the proper way.
- Fixed a bug within MudScriptCompiler that prevented it from using standard .NET Types (would only support C# keywords).
- Fixed a bug within MudScriptCompiler that prevented it from accessing Engine Type's from within Scripts.
Mud Game:
- Changed all of the C# keywords (string, bool) back to .NET, cross-language keywords (String, Boolean).
Example Scripts will compile regardless of what compiler is used to within the MudScriptCompiler.
- Added support for the rScript engine to Game. It still contains code with MudEngine.Scripting.ScriptEngine, however it is not used by anything.
- Added MudScriptCompiler. Custom Compiler created using ICompiler, included with the rScript engine.
* At this time, ScriptEngine is no longer used, and has been fully replaced by the rScript Engine and MudScriptCompiler.
* Take note that the MudScriptCompiler only supports C# Keywords, and not some of the standard .NET Types. For a string, you'll need to use 'string' and not 'String'.
I'm looking into why this is the case. Until the issue is fixed, none of the example game scripts will run.