public void TakeScreenshot(string name) { var image = CaptureApplication(); if (image == null) { Logger.ZekkenMessage("Could not capture screenshot."); return; } string path = Path.Combine(Directories.SCREENSHOT_DIR, name + ".png"); if (!FileTools.PrepareSave(path)) { return; } try { using (var file = new FileStream(path, FileMode.Create)) { image.Save(file, ImageFormat.Png); } } catch { Logger.ZekkenMessage("Could not save screenshot file."); return; } Logger.ZekkenMessage("Saved screenshot of unknown spell {0}.", name); }
public static bool ProtoSave <T>(string path, T data) { if (!FileTools.PrepareSave(path)) { return(false); } using (var stream = new FileStream(path, FileMode.Create, FileAccess.Write)) { try { ProtoBuf.Serializer.Serialize(stream, data); } catch { Logger.CardinalMessage("Failed to save data at {0}", path); return(false); } } return(true); }