예제 #1
0
        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);
        }
예제 #2
0
        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);
        }