Esempio n. 1
0
        /// <summary>
        /// Called by Unity.
        /// </summary>
        public void Start()
        {
            // Create the domain
            domain = ScriptDomain.CreateDomain("MazeCrawlerCode", true);

            // Support netstandard
            try
            {
                IMetadataReferenceProvider reference = AssemblyReference.FromNameOrFile("netstandard");

                if (reference.TryResolveReference() == true)
                {
                    domain.RoslynCompilerService.ReferenceAssemblies.Add(reference);
                }
            }
            catch { }

            // Add assembly reference to Assembly-CSharp
            domain.RoslynCompilerService.ReferenceAssemblies.Add(AssemblyReference.FromAssembly(typeof(MazeCrawlerExample).Assembly));
            domain.RoslynCompilerService.ReferenceAssemblies.Add(AssemblyReference.FromAssembly(typeof(UnityEngine.Object).Assembly));
            domain.RoslynCompilerService.ReferenceAssemblies.Add(AssemblyReference.FromAssembly(typeof(Stack <>).Assembly));
            domain.RoslynCompilerService.ReferenceAssemblies.Add(AssemblyReference.FromAssembly(typeof(HashSet <>).Assembly));

            if (showCompletedCodeOnStartup == true)
            {
                // Load the solution code
                runCrawlerInput.text = mazeCodeSolution.text;
            }
            else
            {
                // Load the template code
                runCrawlerInput.text = mazeCodeTemplate.text;
            }
        }
Esempio n. 2
0
 public AssemblyReferenceResolver(IProcessExecutor processExecutor, IMetadataReferenceProvider metadataReference)
 {
     _processExecutor   = processExecutor;
     _metadataReference = metadataReference;
     _logger            = ApplicationLogging.LoggerFactory.CreateLogger <AssemblyReferenceResolver>();
 }
Esempio n. 3
0
 public CSharpToAssemblyCompiler(IMetadataReferenceProvider defaultMetadataReferences, ILogger <CSharpToAssemblyCompiler> logger)
 {
     _defaultMetadataReferences = defaultMetadataReferences;
     _logger = logger;
 }