Example #1
0
        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));
            }
        }
Example #2
0
        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");
            }
        }
Example #3
0
        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");
            }
        }
Example #4
0
        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();
            }
        }