Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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);
        }