MudCompiler:
- 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.
This commit is contained in:
parent
7a0d1c5a74
commit
3f73247d0e
10 changed files with 38 additions and 689 deletions
|
@ -60,6 +60,7 @@ namespace MudEngine.Scripting
|
|||
//Make sure we have a compiler version supplied.
|
||||
if (!CompilerOptions.ContainsKey("CompilerVersion"))
|
||||
CompilerOptions.Add("CompilerVersion", "v4.0");
|
||||
|
||||
//Instance a reference to the C# code provider, this is what will perform the compiling.
|
||||
CSharpCodeProvider provider = new CSharpCodeProvider(CompilerOptions);
|
||||
|
||||
|
@ -118,7 +119,7 @@ namespace MudEngine.Scripting
|
|||
String[] ConvertedScripts = Directory.GetFiles("temp", "*" + this.ScriptExtension, SearchOption.AllDirectories);
|
||||
|
||||
//Compile the scripts and provide the Results property with a reference to the compilation results.
|
||||
param.GenerateInMemory = false;
|
||||
param.ReferencedAssemblies.Add("MudEngine.dll");
|
||||
Results = provider.CompileAssemblyFromFile(param, ConvertedScripts);
|
||||
System.IO.Directory.Delete(modifiedScriptsPath, true);
|
||||
|
||||
|
@ -137,6 +138,9 @@ namespace MudEngine.Scripting
|
|||
/// <returns></returns>
|
||||
public Boolean Compile(CompilerParameters param, FileInfo scriptFile)
|
||||
{
|
||||
//TODO: Add single-file compilation support
|
||||
return false; //Single file compiling not implemented
|
||||
|
||||
//Make sure we have a compiler version supplied.
|
||||
if (!CompilerOptions.ContainsKey("CompilerVersion"))
|
||||
CompilerOptions.Add("CompilerVersion", "v4.0");
|
||||
|
@ -169,6 +173,9 @@ namespace MudEngine.Scripting
|
|||
/// <returns></returns>
|
||||
public Boolean Compile(CompilerParameters param, String[] scriptSourceCode)
|
||||
{
|
||||
//Source Code compiling not implemented.
|
||||
return false; //TODO: Add source code compiling support.
|
||||
|
||||
if (!CompilerOptions.ContainsKey("CompilerVersion"))
|
||||
CompilerOptions.Add("CompilerVersion", "v4.0");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue