public static void SaveAs() { if (Engine.MapLoaded) { if (NfdResult.OKAY == NFD.SaveDialog("bin", Settings.CelesteDirectory, out string mapPath)) { MapEditor.Instance.State.LoadedPath = mapPath + (mapPath.EndsWith(".bin") ? "" : ".bin"); MapEditor.Instance.State.Save(); } Input.Reset(); } }
public static void SaveRoomImage() { if (!Engine.MapLoaded || MapEditor.Instance == null) { return; } if (NfdResult.OKAY == NFD.SaveDialog("png", Settings.CelesteDirectory, out string pngPath)) { if (!File.Exists(pngPath)) { using (FileStream stream = File.Create(pngPath + ".png")) { stream.Close(); } } using (FileStream stream = File.Open(pngPath, FileMode.Truncate)) { DrawableRoom dr = MapEditor.Instance.Renderer.SelectedRoom; dr.Target.SaveAsPng(stream, dr.Room.Width, dr.Room.Height); } } }
public static bool Save() { if (Engine.MapLoaded && MapEditor.Instance.State.Unsaved) { if (string.IsNullOrEmpty(MapEditor.Instance.State.LoadedPath)) { if (NfdResult.OKAY == NFD.SaveDialog("bin", Settings.CelesteDirectory, out string mapPath)) { MapEditor.Instance.State.LoadedPath = mapPath + (mapPath.EndsWith(".bin") ? "" : ".bin"); } Input.Reset(); } if (string.IsNullOrEmpty(MapEditor.Instance.State.LoadedPath)) { return(false); } MapEditor.Instance.State.Save(); return(true); } return(true); }