public void ExportSelectedMarkers() { var extensions = new[] { new ExtensionFilter("Faf Markers", "fafmapmarkers") }; var paths = StandaloneFileBrowser.SaveFilePanel("Export markers", EnvPaths.GetMapsPath(), "", extensions); /* * SaveFileDialog FileDialog = new SaveFileDialog(); * FileDialog.Title = "Export markers"; * FileDialog.AddExtension = true; * * FileDialog.DefaultExt = ".fafmapmarkers"; * FileDialog.Filter = "Faf Markers (*.fafmapmarkers)|*.fafmapmarkers"; */ //System.Windows.Forms.FolderBrowserDialog FolderDialog = new FolderBrowserDialog(); //FolderDialog.ShowNewFolderButton = false; //FolderDialog.Description = "Select 'Maps' folder."; //if (FileDialog.ShowDialog() == DialogResult.OK) if (!string.IsNullOrEmpty(paths)) { ExportMarkers ExpMarkers = new ExportMarkers(); ExpMarkers.MapWidth = ScmapEditor.Current.map.Width; ExpMarkers.MapHeight = ScmapEditor.Current.map.Height; List <MapLua.SaveLua.Marker> SelectedObjects = new List <MapLua.SaveLua.Marker>(); for (int i = 0; i < SelectionManager.Current.Selection.Ids.Count; i++) { SelectedObjects.Add(SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]].GetComponent <MarkerObject>().Owner); } ExpMarkers.Markers = new ExportMarkers.ExportMarker[SelectedObjects.Count]; for (int i = 0; i < ExpMarkers.Markers.Length; i++) { ExpMarkers.Markers[i] = new ExportMarkers.ExportMarker(); ExpMarkers.Markers[i].MarkerType = SelectedObjects[i].MarkerType; ExpMarkers.Markers[i].Pos = SelectedObjects[i].MarkerObj.Tr.localPosition; ExpMarkers.Markers[i].Rot = SelectedObjects[i].MarkerObj.Tr.localRotation; List <int> Connected = new List <int>(); for (int c = 0; c < SelectedObjects[i].AdjacentToMarker.Count; c++) { if (SelectedObjects.Contains(SelectedObjects[i].AdjacentToMarker[c])) { Connected.Add(SelectedObjects.IndexOf(SelectedObjects[i].AdjacentToMarker[c])); } } ExpMarkers.Markers[i].Connected = Connected.ToArray(); } System.IO.File.WriteAllText(paths, JsonUtility.ToJson(ExpMarkers)); } }
public void ImportMarkers() { var extensions = new[] { new ExtensionFilter("Faf Markers", "fafmapmarkers") }; var paths = StandaloneFileBrowser.OpenFilePanel("Import markers", DefaultPath, extensions, false); if (paths.Length > 0 && !string.IsNullOrEmpty(paths[0])) { ExportMarkers ImpMarkers = JsonUtility.FromJson <ExportMarkers>(System.IO.File.ReadAllText(paths[0])); bool AnyCreated = false; int mc = 0; MapLua.SaveLua.Marker[] CreatedMarkers = new MapLua.SaveLua.Marker[ImpMarkers.Markers.Length]; for (int m = 0; m < ImpMarkers.Markers.Length; m++) { if (!AnyCreated) { Undo.Current.RegisterMarkersAdd(); } AnyCreated = true; if (SelectionManager.Current.SnapToGrid) { ImpMarkers.Markers[m].Pos = ScmapEditor.SnapToGridCenter(ImpMarkers.Markers[m].Pos, true, SelectionManager.Current.SnapToWater); } MapLua.SaveLua.Marker NewMarker = new MapLua.SaveLua.Marker(ImpMarkers.Markers[m].MarkerType); CreatedMarkers[m] = NewMarker; NewMarker.position = ScmapEditor.WorldPosToScmap(ImpMarkers.Markers[m].Pos); NewMarker.orientation = ImpMarkers.Markers[m].Rot.eulerAngles; MarkersControler.CreateMarker(NewMarker, mc); ChainsList.AddToCurrentChain(NewMarker); MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Add(NewMarker); } for (int m = 0; m < ImpMarkers.Markers.Length; m++) { CreatedMarkers[m].AdjacentToMarker = new List <MapLua.SaveLua.Marker>(); for (int c = 0; c < ImpMarkers.Markers[m].Connected.Length; c++) { CreatedMarkers[m].AdjacentToMarker.Add(CreatedMarkers[ImpMarkers.Markers[m].Connected[c]]); } } RenderMarkersConnections.Current.UpdateConnections(); EnvPaths.SetLastPath(ExportPathKey, System.IO.Path.GetDirectoryName(paths[0])); GenericInfoPopup.ShowInfo("Markers imported"); } }
public void ExportSelectedMarkers() { var extensions = new[] { new ExtensionFilter("Faf Markers", "fafmapmarkers") }; var paths = StandaloneFileBrowser.SaveFilePanel("Export markers", DefaultPath, "", extensions); if (!string.IsNullOrEmpty(paths)) { ExportMarkers ExpMarkers = new ExportMarkers(); ExpMarkers.MapWidth = ScmapEditor.Current.map.Width; ExpMarkers.MapHeight = ScmapEditor.Current.map.Height; List <MapLua.SaveLua.Marker> SelectedObjects = new List <MapLua.SaveLua.Marker>(); for (int i = 0; i < SelectionManager.Current.Selection.Ids.Count; i++) { SelectedObjects.Add(SelectionManager.Current.AffectedGameObjects[SelectionManager.Current.Selection.Ids[i]].GetComponent <MarkerObject>().Owner); } ExpMarkers.Markers = new ExportMarkers.ExportMarker[SelectedObjects.Count]; for (int i = 0; i < ExpMarkers.Markers.Length; i++) { ExpMarkers.Markers[i] = new ExportMarkers.ExportMarker(); ExpMarkers.Markers[i].MarkerType = SelectedObjects[i].MarkerType; ExpMarkers.Markers[i].Pos = SelectedObjects[i].MarkerObj.Tr.localPosition; ExpMarkers.Markers[i].Rot = SelectedObjects[i].MarkerObj.Tr.localRotation; List <int> Connected = new List <int>(); for (int c = 0; c < SelectedObjects[i].AdjacentToMarker.Count; c++) { if (SelectedObjects.Contains(SelectedObjects[i].AdjacentToMarker[c])) { Connected.Add(SelectedObjects.IndexOf(SelectedObjects[i].AdjacentToMarker[c])); } } ExpMarkers.Markers[i].Connected = Connected.ToArray(); } System.IO.File.WriteAllText(paths, JsonUtility.ToJson(ExpMarkers)); EnvPaths.SetLastPath(ExportPathKey, System.IO.Path.GetDirectoryName(paths)); GenericInfoPopup.ShowInfo("Markers exported"); } }
public void ImportMarkers() { var extensions = new[] { new ExtensionFilter("Faf Markers", "fafmapmarkers") }; var paths = StandaloneFileBrowser.OpenFilePanel("Import markers", EnvPaths.GetMapsPath(), extensions, false); /* * OpenFileDialog FileDialog = new OpenFileDialog(); * FileDialog.Title = "Import markers"; * FileDialog.AddExtension = true; * FileDialog.DefaultExt = ".fafmapmarkers"; * FileDialog.Filter = "Faf Markers (*.fafmapmarkers)|*.fafmapmarkers"; * FileDialog.CheckFileExists = true; */ if (paths.Length > 0 && !string.IsNullOrEmpty(paths[0])) { ExportMarkers ImpMarkers = JsonUtility.FromJson <ExportMarkers>(System.IO.File.ReadAllText(paths[0])); bool AnyCreated = false; int mc = 0; MapLua.SaveLua.Marker[] CreatedMarkers = new MapLua.SaveLua.Marker[ImpMarkers.Markers.Length]; for (int m = 0; m < ImpMarkers.Markers.Length; m++) { if (!AnyCreated) { Undo.Current.RegisterMarkersAdd(); } AnyCreated = true; if (SelectionManager.Current.SnapToGrid) { ImpMarkers.Markers[m].Pos = ScmapEditor.SnapToGridCenter(ImpMarkers.Markers[m].Pos, true, SelectionManager.Current.SnapToWater); } MapLua.SaveLua.Marker NewMarker = new MapLua.SaveLua.Marker(ImpMarkers.Markers[m].MarkerType); CreatedMarkers[m] = NewMarker; NewMarker.position = ScmapEditor.WorldPosToScmap(ImpMarkers.Markers[m].Pos); NewMarker.orientation = ImpMarkers.Markers[m].Rot.eulerAngles; MarkersControler.CreateMarker(NewMarker, mc); ChainsList.AddToCurrentChain(NewMarker); MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Add(NewMarker); } for (int m = 0; m < ImpMarkers.Markers.Length; m++) { CreatedMarkers[m].AdjacentToMarker = new List <MapLua.SaveLua.Marker>(); for (int c = 0; c < ImpMarkers.Markers[m].Connected.Length; c++) { CreatedMarkers[m].AdjacentToMarker.Add(CreatedMarkers[ImpMarkers.Markers[m].Connected[c]]); } } RenderMarkersConnections.Current.UpdateConnections(); } }