Exemple #1
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");
            }
        }
Exemple #2
0
        /// <summary>
        /// Search for all markers of defined types that name prefix is not correct
        /// </summary>
        void FixAiMarkersNamesExecute()
        {
            HashSet <MapLua.SaveLua.Marker> ToChange = new HashSet <MapLua.SaveLua.Marker>();

            for (int mc = 0; mc < MapLuaParser.Current.SaveLuaFile.Data.MasterChains.Length; mc++)
            {
                int Mcount = MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Count;
                for (int m = 0; m < Mcount; m++)
                {
                    switch (MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers[m].MarkerType)
                    {
                    case MapLua.SaveLua.Marker.MarkerTypes.NavalArea:
                    case MapLua.SaveLua.Marker.MarkerTypes.ExpansionArea:
                    case MapLua.SaveLua.Marker.MarkerTypes.LargeExpansionArea:
                        string RequiredPrefix = MapLua.SaveLua.GetPrefixByType(MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers[m].MarkerType);
                        if (!MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers[m].Name.StartsWith(RequiredPrefix))
                        {
                            ToChange.Add(MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers[m]);
                        }
                        break;
                    }
                }
            }

            if (ToChange.Count <= 0)
            {
                GenericPopup.ShowPopup(GenericPopup.PopupTypes.OneButton, "Fix AI Marker names", "There are no AI markers that need name fix.", "OK", null);
                return;
            }

            MapLua.SaveLua.Marker[] UndoMarkersArray = new MapLua.SaveLua.Marker[ToChange.Count];
            ToChange.CopyTo(UndoMarkersArray);

            Undo.RegisterUndo(new UndoHistory.HistoryMarkersChange(), new UndoHistory.HistoryMarkersChange.MarkersChangeHistoryParameter(UndoMarkersArray));

            int ChangedMarkersCount = 0;

            for (int i = 0; i < UndoMarkersArray.Length; i++)
            {
                //string RequiredPrefix = MapLua.SaveLua.GetPrefixByType(UndoMarkersArray[i].MarkerType);
                //if (!RequiredPrefix.StartsWith(RequiredPrefix))
                //{
                MapLua.SaveLua.RemoveMarker(UndoMarkersArray[i].Name);
                UndoMarkersArray[i].Name = MapLua.SaveLua.GetLowestName(UndoMarkersArray[i].MarkerType);
                if (UndoMarkersArray[i].MarkerObj)
                {
                    UndoMarkersArray[i].MarkerObj.gameObject.name = UndoMarkersArray[i].Name;
                }
                MapLua.SaveLua.AddNewMarker(UndoMarkersArray[i]);
                ChangedMarkersCount++;
                //}
            }

            GenericPopup.ShowPopup(GenericPopup.PopupTypes.OneButton, "Fix AI Marker names", "Changed names of " + ChangedMarkersCount + " markers.", "OK", null);

            MarkerSelectionOptions.UpdateOptions();
        }
Exemple #3
0
 public static void AddToCurrentChain(MapLua.SaveLua.Marker Marker)
 {
     if (Current && Current.ChainSelected >= 0)
     {
         MapLuaParser.Current.SaveLuaFile.Data.Chains[Current.ChainSelected].ConnectedMarkers.Add(Marker);
         MapLuaParser.Current.SaveLuaFile.Data.Chains[Current.ChainSelected].BakeMarkers();
         Marker.ConnectedToChains.Add(MapLuaParser.Current.SaveLuaFile.Data.Chains[Current.ChainSelected]);
     }
 }
Exemple #4
0
        void GenerateMarkers()
        {
            ChainName.text = MapLuaParser.Current.SaveLuaFile.Data.Chains[ChainSelected].Name;

            int Mcount = MapLuaParser.Current.SaveLuaFile.Data.Chains[ChainSelected].ConnectedMarkers.Count;

            for (int i = 0; i < Mcount; i++)
            {
                MapLua.SaveLua.Marker CurrentMarker = MapLuaParser.Current.SaveLuaFile.Data.Chains[ChainSelected].ConnectedMarkers[i];

                GameObject newList = Instantiate(ListPrefab_Marker, Pivot.position, Quaternion.identity) as GameObject;
                newList.GetComponent <RectTransform>().SetParent(Pivot);
                ListObject NewListObject = newList.GetComponent <ListObject>();

                NewListObject.ObjectName.text = CurrentMarker.Name;
                NewListObject.InstanceId      = i;
                //NewListObject.ClickActionId = SelectMarker;
                NewListObject.DragAction = DragEnded;

                NewListObject.ConnectedGameObject = CurrentMarker.MarkerObj.gameObject;
                NewListObject.ClickAction         = Selection.SelectionManager.Current.SelectObject;

                int ObjectId = SelectionManager.Current.GetIdOfObject(NewListObject.ConnectedGameObject);

                if (Selection.SelectionManager.Current.Selection.Ids.Contains(ObjectId))
                {
                    NewListObject.SetSelection(1);
                }
                else
                {
                    NewListObject.SetSelection(0);

                    if (Selection.SelectionManager.Current.SymetrySelection.Length > 0)
                    {
                        for (int s = 0; s < Selection.SelectionManager.Current.SymetrySelection.Length; s++)
                        {
                            if (Selection.SelectionManager.Current.SymetrySelection[s].Ids.Contains(ObjectId))
                            {
                                NewListObject.SetSelection(2);
                            }
                        }
                    }
                }

                if (CurrentMarker.MarkerType == MapLua.SaveLua.Marker.MarkerTypes.BlankMarker && ArmyInfo.ArmyExist(CurrentMarker.Name))
                {
                    NewListObject.Icon.sprite = Markers.MarkersControler.Current.SpawnGraphic.Icon;
                }
                else
                {
                    NewListObject.Icon.sprite = Markers.MarkersControler.GetIconByType(CurrentMarker.MarkerType);
                }
                AllFields.Add(NewListObject);
            }
        }
Exemple #5
0
        public override void DoUndo()
        {
            MapLua.SaveLua.Marker[] RegisterMarkers = new MapLua.SaveLua.Marker[Markers.Length];
            for (int i = 0; i < Markers.Length; i++)
            {
                RegisterMarkers[i] = Markers[i].Marker;
            }

            Undo.RegisterRedo(new HistoryMarkersChange(), new MarkersChangeHistoryParameter(RegisterMarkers));
            DoRedo();
        }
            public void Load(MapLua.SaveLua.Marker RegisterMarker)
            {
                Marker         = RegisterMarker;
                Name           = Marker.Name;
                zoom           = Marker.zoom;
                canSetCamera   = Marker.canSetCamera;
                canSyncCamera  = Marker.canSyncCamera;
                size           = Marker.size;
                amount         = Marker.amount;
                offset         = Marker.offset;
                scale          = Marker.scale;
                effectTemplate = Marker.EffectTemplate;


                if (Marker.MarkerObj && Marker.MarkerType == MapLua.SaveLua.Marker.MarkerTypes.CameraInfo)
                {
                    Position    = Marker.MarkerObj.Tr.position;
                    Orientation = Marker.MarkerObj.Tr.localRotation;
                }
            }
Exemple #7
0
            public void Load(MapLua.SaveLua.Marker RegisterMarker)
            {
                Marker         = RegisterMarker;
                Name           = Marker.Name;
                zoom           = Marker.zoom;
                canSetCamera   = Marker.canSetCamera;
                canSyncCamera  = Marker.canSyncCamera;
                size           = Marker.size;
                amount         = Marker.amount;
                offset         = Marker.offset;
                scale          = Marker.scale;
                effectTemplate = Marker.EffectTemplate;

                cloudCount             = Marker.cloudCount;
                cloudCountRange        = Marker.cloudCountRange;
                cloudEmitterScale      = Marker.cloudEmitterScale;
                cloudEmitterScaleRange = Marker.cloudEmitterScaleRange;
                cloudSpread            = Marker.cloudSpread;
                cloudHeightRange       = Marker.cloudHeightRange;
                spawnChance            = Marker.spawnChance;
                ForceType   = Marker.ForceType;
                cloudHeight = Marker.cloudHeight;

                WeatherDriftDirection = Marker.WeatherDriftDirection;
                MapStyle            = Marker.MapStyle;
                WeatherType04       = Marker.WeatherType04;
                WeatherType03       = Marker.WeatherType03;
                WeatherType02       = Marker.WeatherType02;
                WeatherType01       = Marker.WeatherType01;
                WeatherType04Chance = Marker.WeatherType04Chance;
                WeatherType03Chance = Marker.WeatherType03Chance;
                WeatherType02Chance = Marker.WeatherType02Chance;
                WeatherType01Chance = Marker.WeatherType01Chance;


                if (Marker.MarkerObj && Marker.MarkerType == MapLua.SaveLua.Marker.MarkerTypes.CameraInfo)
                {
                    Position    = Marker.MarkerObj.Tr.position;
                    Orientation = Marker.MarkerObj.Tr.localRotation;
                }
            }
Exemple #8
0
        public void Place(Vector3[] Positions, Quaternion[] Rotations, Vector3[] Scales)
        {
            //List<MapLua.SaveLua.Marker> NewMarkers = new List<MapLua.SaveLua.Marker>();
            int mc = 0;             // MasterChainID

            LastAddedMarkers = new List <int>();
            int  TotalMarkersCount = MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Count;
            bool AnyCreated        = false;

            if (CreationId == 5)
            {
                Vector3      NewPos;
                MarkerPreset Mpreset = MarkerPresets[SpawnPressetDropdown.value].GetComponent <MarkerPreset>();

                for (int i = 0; i < Positions.Length; i++)
                {
                    for (int m = 0; m < Mpreset.Markers.Length; m++)
                    {
                        if (!AnyCreated)
                        {
                            Undo.Current.RegisterMarkersAdd();
                        }
                        AnyCreated = true;

                        //Debug.Log(Mpreset.Markers[m].Tr.localPosition);
                        NewPos = Positions[i] + Rotations[i] * Mpreset.Markers[m].Tr.localPosition;

                        if (SelectionManager.Current.SnapToGrid)
                        {
                            NewPos = ScmapEditor.SnapToGridCenter(NewPos, true, SelectionManager.Current.SnapToWater);
                        }

                        //NewPos.y = ScmapEditor.Current.Teren.SampleHeight(NewPos);

                        MapLua.SaveLua.Marker NewMarker = new MapLua.SaveLua.Marker(Mpreset.Markers[m].MarkerType);
                        NewMarker.position = ScmapEditor.WorldPosToScmap(NewPos);
                        //NewMarker.orientation =
                        MarkersControler.CreateMarker(NewMarker, mc);
                        ChainsList.AddToCurrentChain(NewMarker);


                        LastAddedMarkers.Add(TotalMarkersCount);
                        TotalMarkersCount++;
                        MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Add(NewMarker);
                    }
                }
            }
            else
            {
                for (int i = 0; i < Positions.Length; i++)
                {
                    if (!AnyCreated)
                    {
                        Undo.Current.RegisterMarkersAdd();
                    }
                    AnyCreated = true;

                    MapLua.SaveLua.Marker NewMarker = new MapLua.SaveLua.Marker(LastCreationType);

                    bool snapToWater = SelectionManager.Current.SnapToWater;

                    if (LastCreationType == MapLua.SaveLua.Marker.MarkerTypes.Mass || LastCreationType == MapLua.SaveLua.Marker.MarkerTypes.Hydrocarbon)
                    {
                        snapToWater = false;
                    }

                    if (SelectionManager.Current.SnapToGrid)
                    {
                        Positions[i] = ScmapEditor.SnapToGridCenter(Positions[i], true, snapToWater);
                    }

                    //Positions[i].y = ScmapEditor.Current.Teren.SampleHeight(Positions[i]);

                    ChainsList.AddToCurrentChain(NewMarker);

                    NewMarker.position = ScmapEditor.WorldPosToScmap(Positions[i]);
                    if (CreationId == 3)
                    {
                        NewMarker.orientation = Rotations[i].eulerAngles;
                    }
                    else
                    {
                        NewMarker.orientation = Vector3.zero;
                    }
                    MarkersControler.CreateMarker(NewMarker, mc);
                    LastAddedMarkers.Add(TotalMarkersCount);
                    TotalMarkersCount++;
                    MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Add(NewMarker);
                }
            }

            if (AnyCreated)
            {
                //MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers = MapLuaParser.Current.SaveLuaFile.Data.MasterChains[mc].Markers.Concat<MapLua.SaveLua.Marker>(NewMarkers.ToArray());
                MarkerSelectionOptions.UpdateOptions();
                MarkersControler.UpdateBlankMarkersGraphics();
                RenderMarkersWarnings.Generate();
            }
        }
        IEnumerator CreateFiles()
        {
            ScmapEditor.Current.UnloadMap();
            MapLuaParser.Current.ResetUI();
            MapLuaParser.Current.SaveLuaFile.Unload();

            string FileName = Name.text.Replace(" ", "_");

            Debug.Log("Create new map: " + FolderName);

            MapLuaParser.Current.FolderName       = FolderName;
            MapLuaParser.Current.ScenarioFileName = FileName + "_scenario";
            MapLuaParser.Current.FolderParentPath = MapPath;

            Directory.CreateDirectory(MapPath + MapLuaParser.Current.FolderName);

            int NewMapWidth  = SizeByValue(Width.value);
            int NewMapHeight = SizeByValue(Height.value);

            int NewMapSize = NewMapWidth;

            if (NewMapHeight > NewMapSize)
            {
                NewMapSize = NewMapHeight;
            }

            // Scenario - Basic
            MapLuaParser.Current.ScenarioLuaFile.Data = new MapLua.ScenarioLua.ScenarioInfo();
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations                   = new MapLua.ScenarioLua.Configuration[1];
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0]                = new MapLua.ScenarioLua.Configuration();
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].name           = "standard";
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].Teams          = new MapLua.ScenarioLua.Team[1];
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].Teams[0]       = new MapLua.ScenarioLua.Team();
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].Teams[0].name  = "FFA";
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].Teams[0].Armys = new List <MapLua.ScenarioLua.Army>();
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].ExtraArmys     = new List <MapLua.ScenarioLua.Army>();
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].ExtraArmys.Add(new MapLua.ScenarioLua.Army("ARMY_17"));
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].ExtraArmys.Add(new MapLua.ScenarioLua.Army("NEUTRAL_CIVILIAN"));
            MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].factions = new MapLua.ScenarioLua.Factions[0];
            MapLuaParser.Current.ScenarioLuaFile.Data.starts = true;
            // Scenario - User settings
            MapLuaParser.Current.ScenarioLuaFile.Data.name        = Name.text;
            MapLuaParser.Current.ScenarioLuaFile.Data.description = Desc.text;
            MapLuaParser.Current.ScenarioLuaFile.Data.Size        = new int[2];
            MapLuaParser.Current.ScenarioLuaFile.Data.type        = MapType.options[MapType.value].text.ToLower();
            MapLuaParser.Current.ScenarioLuaFile.Data.Size[0]     = NewMapSize;
            MapLuaParser.Current.ScenarioLuaFile.Data.Size[1]     = NewMapSize;
            MapLuaParser.Current.ScenarioLuaFile.Data.save        = "/maps/" + FolderName + "/" + FileName + "_save.lua";
            MapLuaParser.Current.ScenarioLuaFile.Data.script      = "/maps/" + FolderName + "/" + FileName + "_script.lua";
            MapLuaParser.Current.ScenarioLuaFile.Data.map         = "/maps/" + FolderName + "/" + FileName + ".scmap";
            MapLuaParser.Current.ScenarioLuaFile.Data.map_version = 1;



            MapLuaParser.Current.SaveLuaFile.Data = new MapLua.SaveLua.Scenario();
            MapLuaParser.Current.SaveLuaFile.Data.MasterChains[0].Markers = new List <MapLua.SaveLua.Marker>();

            // Armies
            int   Armies          = ArmyCount.value + 1;
            float MapArmyDistance = NewMapWidth * 0.2f;

            for (int i = 0; i < Armies; i++)
            {
                MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[0].Teams[0].Armys.Add(new MapLua.ScenarioLua.Army("ARMY_" + (i + 1)));

                MapLua.SaveLua.Marker A1marker = new MapLua.SaveLua.Marker(MapLua.SaveLua.Marker.MarkerTypes.BlankMarker, "ARMY_" + (i + 1));
                Vector3 ArmyPosition           = new Vector3((int)(NewMapWidth * 0.5f), InitialHeight.intValue, (int)(NewMapWidth * 0.5f));
                ArmyPosition     += Quaternion.Euler(Vector3.up * 360 * (i / (float)Armies)) * Vector3.forward * MapArmyDistance;
                A1marker.position = ScmapEditor.WorldPosToScmap(ScmapEditor.SnapToGrid(ScmapEditor.ScmapPosToWorld(ArmyPosition)));
                MapLuaParser.Current.SaveLuaFile.Data.MasterChains[0].Markers.Add(A1marker);
            }

            Markers.MarkersControler.LoadMarkers();

            //Save lua
            MapLuaParser.Current.SaveLuaFile.Data.areas         = new MapLua.SaveLua.Areas[1];
            MapLuaParser.Current.SaveLuaFile.Data.areas[0]      = new MapLua.SaveLua.Areas();
            MapLuaParser.Current.SaveLuaFile.Data.areas[0].Name = "AREA_1";
            if (NewMapWidth == NewMapHeight)
            {
                MapLuaParser.Current.SaveLuaFile.Data.areas[0].rectangle = new Rect(0, 0, NewMapWidth, NewMapHeight);
            }
            else
            {
                if (NewMapWidth > NewMapHeight)                 // Horizontal
                {
                    int Offset = (NewMapWidth - NewMapHeight) / 2;
                    MapLuaParser.Current.SaveLuaFile.Data.areas[0].rectangle = new Rect(0, Offset, NewMapWidth, NewMapHeight + Offset);
                }
                else                 // Vertical
                {
                    int Offset = (NewMapHeight - NewMapWidth) / 2;
                    MapLuaParser.Current.SaveLuaFile.Data.areas[0].rectangle = new Rect(Offset, 0, NewMapWidth + Offset, NewMapHeight);
                }
            }


            ScmapEditor.Current.map = new Map(MapLuaParser.Current.ScenarioLuaFile.Data.Size[0], MapLuaParser.Current.ScenarioLuaFile.Data.Size[1], InitialHeight.intValue,
                                              Water.isOn, WaterElv.intValue, DepthElevation.intValue, AbyssElevation.intValue);

            //GenerateControlTex.GenerateWater();
            ScmapEditor.Current.LoadHeights();

            yield return(null);

            yield return(null);

            MapLuaParser.Current.SaveMap(false);
            MapLuaParser.Current.SaveScriptLua(0);

            yield return(null);

            yield return(null);

            MapLuaParser.Current.LoadFile();
        }
Exemple #10
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();
            }
        }