private IHttpHandler CreateHttpHandler(IUrlResolver urlResolver) { MagickFormatInfo formatInfo = MagickNET.GetFormatInformation(urlResolver.Format); if (formatInfo == null || !formatInfo.IsReadable) { return(null); } IImageData imageData = ImageData.Create(urlResolver, formatInfo); if (!imageData.IsValid) { return(null); } IScriptData scriptData = urlResolver as IScriptData; if (IsValid(scriptData)) { return(new MagickScriptHandler(_settings, imageData, scriptData)); } if (HandlerHelper.CanOptimize(_settings, formatInfo)) { return(new ImageOptimizerHandler(_settings, imageData)); } if (HandlerHelper.CanCompress(_settings, formatInfo)) { return(new GzipHandler(_settings, imageData)); } return(null); }
public void LoadData() { if (m_initLoad) { return; } IScriptData scriptData = null; scriptData = new CharacterData(); scriptData.Load("Npc_Database"); m_scriptDataList.Add(scriptData); scriptData = new ResData(); scriptData.Load("Resource_Database"); m_scriptDataList.Add(scriptData); scriptData = new StoryData(); scriptData.Load("StoreBoards_Database"); m_scriptDataList.Add(scriptData); scriptData = new TextData(); scriptData.Load("UIText_Database"); m_scriptDataList.Add(scriptData); m_initLoad = true; }
private static ScriptPackage CreateScriptPackage(IScriptData scriptData) { return(new ScriptPackage( scriptData.Name, scriptData.Name, new StringSourceCode(scriptData.SourceCode) )); }
private void Test_Optimize(IImageData imageData, IScriptData scriptData) { string tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); try { string config = $@" <magick.net.web cacheDirectory=""{tempDir}"" tempDirectory=""{tempDir}""> <optimization enabled=""false""/> </magick.net.web>"; MagickWebSettings settings = TestSectionLoader.Load(config); HttpRequest request = new HttpRequest("foo", "https://bar", ""); FileInfo outputFile = new FileInfo(Path.Combine(tempDir, "output.jpg")); using (StreamWriter writer = new StreamWriter(outputFile.FullName, false, Encoding)) { HttpResponse response = new HttpResponse(writer); HttpContext context = new HttpContext(request, response); MagickScriptHandler handler = new MagickScriptHandler(settings, imageData, scriptData); handler.ProcessRequest(context); } outputFile.Refresh(); long lengthWithoutOptimization = outputFile.Length; foreach (FileInfo file in tempDir.GetFiles()) { file.Delete(); } config = $@"<magick.net.web cacheDirectory=""{tempDir}"" tempDirectory=""{tempDir}""/>"; settings = TestSectionLoader.Load(config); using (StreamWriter writer = new StreamWriter(outputFile.FullName, false, Encoding)) { HttpResponse response = new HttpResponse(writer); HttpContext context = new HttpContext(request, response); MagickScriptHandler handler = new MagickScriptHandler(settings, imageData, scriptData); handler.ProcessRequest(context); } outputFile.Refresh(); Assert.IsTrue(outputFile.Length < lengthWithoutOptimization); } finally { if (Directory.Exists(tempDir)) { Directory.Delete(tempDir, true); } } }
public string BlackboardGetString(IScriptData target, string key) { string value; if (target.Blackboard.StringValues.TryGetValue(key, out value)) { return(value); } return(null); }
public float BlackboardGetFloat(IScriptData target, string key) { float value; if (target.Blackboard.FloatValues.TryGetValue(key, out value)) { return(value); } return(float.NaN); }
public int BlackboardGetInt(IScriptData target, string key) { int value; if (target.Blackboard.IntValues.TryGetValue(key, out value)) { return(value); } return(int.MinValue); }
public void BlackboardSetInt(IScriptData target, string key, int value) { var values = target.Blackboard.IntValues; if (values.ContainsKey(key)) { values [key] = value; } else { values.Add(key, value); } }
private static bool IsValid(IScriptData scriptData) { if (scriptData == null) { return(false); } if (scriptData.Script == null) { return(false); } return(true); }
public T GetScriptData <T>() where T : class, IScriptData { IScriptData scriptdata = null; for (int i = 0; i < m_scriptDataList.Count; i++) { if (m_scriptDataList[i] is T) { return((T)m_scriptDataList[i]); } } return(null); }
internal MagickScriptHandler(MagickWebSettings settings, IImageData imageData, IScriptData scriptResolver) : base(settings, imageData) { _scriptResolver = scriptResolver; }