internal static CachedTemplate GetCachedTemplate(string templateName, CompileAction action) { if (_cache.Count == 0) { CleanupOldTemplates(); } CachedTemplate cachedTemplate = null; if (_cache.ContainsKey(templateName)) { cachedTemplate = _cache[templateName]; DateTime lastUpdate = File.GetLastWriteTime(templateName); // Has the file changed since we last cached it? if (lastUpdate > cachedTemplate.CompileTime) { // Update it cachedTemplate.CodeBuilder = Parser.ParseMarkup(templateName); cachedTemplate.CompiledAssembly = null; cachedTemplate.CompilerResults = null; } if (action == CompileAction.Compile && cachedTemplate.CompiledAssembly == null) { cachedTemplate.CompilerResults = Compiler.Compile(cachedTemplate.CodeBuilder); if (!cachedTemplate.CompilerResults.Errors.HasErrors) { cachedTemplate.CompiledAssembly = cachedTemplate.CompilerResults.CompiledAssembly; } } cachedTemplate.CompileTime = DateTime.Now; } else { cachedTemplate = new CachedTemplate(); cachedTemplate.Name = templateName; cachedTemplate.CodeBuilder = Parser.ParseMarkup(templateName); if (action == CompileAction.Compile) { CompilerResults results = Compiler.Compile(cachedTemplate.CodeBuilder); cachedTemplate.CompiledAssembly = results.CompiledAssembly; cachedTemplate.CompilerResults = results; } cachedTemplate.CompileTime = DateTime.Now; _cache[templateName] = cachedTemplate; } return(cachedTemplate); }
internal static CachedTemplate GetCachedTemplate(string templateName, CompileAction action) { if (_cache.Count == 0) { CleanupOldTemplates(); } CachedTemplate cachedTemplate = null; if (_cache.ContainsKey(templateName)) { cachedTemplate = _cache[templateName]; DateTime lastUpdate = File.GetLastWriteTime(templateName); // Has the file changed since we last cached it? if (lastUpdate > cachedTemplate.CompileTime) { // Update it cachedTemplate.CodeBuilder = Parser.ParseMarkup(templateName); cachedTemplate.CompiledAssembly = null; cachedTemplate.CompilerResults = null; } if (action == CompileAction.Compile && cachedTemplate.CompiledAssembly == null) { cachedTemplate.CompilerResults = Compiler.Compile(cachedTemplate.CodeBuilder); if (!cachedTemplate.CompilerResults.Errors.HasErrors) { cachedTemplate.CompiledAssembly = cachedTemplate.CompilerResults.CompiledAssembly; } } cachedTemplate.CompileTime = DateTime.Now; } else { cachedTemplate = new CachedTemplate(); cachedTemplate.Name = templateName; cachedTemplate.CodeBuilder = Parser.ParseMarkup(templateName); if (action == CompileAction.Compile) { CompilerResults results = Compiler.Compile(cachedTemplate.CodeBuilder); cachedTemplate.CompiledAssembly = results.CompiledAssembly; cachedTemplate.CompilerResults = results; } cachedTemplate.CompileTime = DateTime.Now; _cache[templateName] = cachedTemplate; } return cachedTemplate; }
private void initControls() { // btnPlay = new ToolStripButton("Play"); //btnPlay.ImageIndex = 1; // btnPlay.Image = AssetManager.ICON_PLAY; compileAction = new CompileAction(); playAction = new PlayGameAction(); }