Пример #1
0
        public ServerSettingsControlViewModel(ulong id)
        {
            Cancel         = new RelayCommand(CancelAction);
            OpenFolder     = new RelayCommand(OpenFolderAction);
            SaveSettings   = new RelayCommand(SaveSettingsAction);
            OpenSettigs    = new RelayCommand(OpenSettigsAction);
            Start          = new RelayCommand(OnStart);
            SectionOpacity = 1;
            OnPropertyChanged(nameof(SectionOpacity));
            OnPropertyChanged(nameof(Cancel));
            OnPropertyChanged(nameof(OpenFolder));
            OnPropertyChanged(nameof(OpenSettigs));
            OnPropertyChanged(nameof(SaveSettings));
            OnPropertyChanged(nameof(Start));
            Complex = ServerSave.GetSettings(id);

            Title      = Complex.Title;
            JarFile    = Complex.JarFile;
            MinRam     = Complex.MinRam;
            MaxRam     = Complex.MaxRam;
            Parameter  = Complex.Parameter;
            ServerPath = Complex.StartFolder;
            ChangeDate = Complex.ChangeDate;

            OnPropertyChanged(nameof(Title));
            OnPropertyChanged(nameof(JarFile));
            OnPropertyChanged(nameof(MinRam));
            OnPropertyChanged(nameof(MaxRam));
            OnPropertyChanged(nameof(ChangeDate));
        }
Пример #2
0
        public void SaveSettingsAction()
        {
            SectionOpacity            = 1;
            ServerSectionCache.SSPath = "";
            OnPropertyChanged(nameof(SectionOpacity));
            ServerSectionCache.SectionObject = null;
            Complex.Title     = Title;
            Complex.JarFile   = JarFile;
            Complex.MinRam    = MinRam;
            Complex.MaxRam    = MaxRam;
            Complex.Parameter = Parameter;
            try
            {
                ServerPath = JarFile.Replace(JarFile.Split('\\').LastOrDefault(), "");
            }
            catch { }
            Complex.StartFolder = ServerPath;


            CurrentHeight = 100;

            ChangeDate = DateTime.Now.ToString();
            OnPropertyChanged(nameof(Title));
            OnPropertyChanged(nameof(ChangeDate));
            OnPropertyChanged(nameof(CurrentHeight));
            Complex.ChangeDate = ChangeDate;
            ServerSave.SaveSettingsContainer();
            ServerSectionCache.ChangeSection();
        }
Пример #3
0
        private void SaveInstances(ref WorldSave.Builder save)
        {
            using (Recycler <SavedObject, SavedObject.Builder> recycler = SavedObject.Recycler())
            {
                if (recycler == null)
                {
                    Logger.LogError("[Fougerite WorldSave] Recycler is null, what the hell?");
                    return;
                }
                SavedObject.Builder builder = recycler.OpenBuilder();
                int num = -2147483648;
                List <ServerSave> CopiedList = new List <ServerSave>();

                int count = ServerSaveManager.Instances.All.Count;
                for (int i = 0; i < count; i++)
                {
                    // Ensure check, since the list can change during save.
                    if (ServerSaveManager.Instances.All.Count <= i)
                    {
                        break;
                    }

                    ServerSave save2 = ServerSaveManager.Instances.All[i];
                    if (save2 != null)
                    {
                        CopiedList.Add(save2);
                    }
                }

                foreach (ServerSave save2 in CopiedList)
                {
                    if (save2 != null)
                    {
                        bool flag;
                        builder.Clear();
                        if ((flag = ((int)save2.REGED) == 1) || (((int)save2.REGED) == 2))
                        {
                            num++;
                            int sortOrder = num;
                            if (flag)
                            {
                                save2.SaveInstance_NetworkView(ref builder, sortOrder);
                            }
                            else
                            {
                                save2.SaveInstance_NGC(ref builder, sortOrder);
                            }
                        }

                        save.AddInstanceObject(builder);
                    }
                }
            }
        }
Пример #4
0
        private void SuperLogError(ServerSave obj)
        {
            if (obj && obj.tag != null)
            {
                Logger.Log("[SuperLogError] obj.tag: " + obj.tag);
            }
            if (obj && obj.name != null)
            {
                Logger.Log("[SuperLogError] obj.name: " + obj.name);
            }
            if (obj && obj.REGED.ToString() != null)
            {
                Logger.Log("[SuperLogError] obj.tag: " + obj.REGED.ToString());
            }
            if (obj && obj.transform != null && obj.transform.position != null)
            {
                Logger.Log("[SuperLogError] obj.transform.position: " + obj.transform.position);
            }
            if (obj && obj.gameObject && obj.gameObject.tag != null)
            {
                Logger.Log("[SuperLogError] obj.gameObject.tag: " + obj.gameObject.tag);
            }
            if (obj && obj.gameObject && obj.gameObject.name != null)
            {
                Logger.Log("[SuperLogError] obj.gameObject.name: " + obj.gameObject.name);
            }
            if (obj && obj.gameObject && obj.gameObject.transform != null && obj.gameObject.transform.position != null)
            {
                Logger.Log("[SuperLogError] obj.gameObject.transform.position: " + obj.gameObject.transform.position.ToString());
            }

            // verificar se essse item bugado é strutura master e verica se está vazia para apagar
            try
            {
                if (obj && obj.gameObject)
                {
                    StructureMaster element = obj.gameObject.GetComponent <StructureMaster>();

                    if (element && (element._structureComponents == null || element._structureComponents.Count == 0))
                    {
                        Logger.Log("[Save Error] item bugado removido =  ownerID:" + element.ownerID + " " + element.name + " " + element.transform.position.ToString());
                        element.OnDestroy();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogError("[SuperLogError] Error element.OnDestroy!!");
            }
        }
Пример #5
0
 private void SaveScene(ref WorldSave.Builder save)
 {
     if (s.keys != null)
     {
         using (Recycler <SavedObject, SavedObject.Builder> recycler = SavedObject.Recycler())
         {
             SavedObject.Builder saveobj = recycler.OpenBuilder();
             for (int i = 0; i < s.keys.Length; i++)
             {
                 int        num2  = s.keys[i];
                 ServerSave save2 = s.values[i];
                 if (save2 != null)
                 {
                     saveobj.Clear();
                     saveobj.SetId(num2);
                     save2.SaveServerSaveables(ref saveobj);
                     save.AddSceneObject(saveobj);
                 }
             }
         }
     }
 }
Пример #6
0
 private void SaveScene(ref WorldSave.Builder save)
 {
     if (s.keys != null)
     {
         using (Recycler <SavedObject, SavedObject.Builder> recycler = SavedObject.Recycler())
         {
             SavedObject.Builder saveobj = recycler.OpenBuilder();
             for (int i = 0; i < s.keys.Length; i++)
             {
                 int        num2  = s.keys[i];
                 ServerSave save2 = s.values[i];
                 if (save2 != null)
                 {
                     try
                     {
                         saveobj.Clear();
                         saveobj.SetId(num2);
                         save2.SaveServerSaveables(ref saveobj);
                         save.AddSceneObject(saveobj);
                     }
                     catch (Exception ex)
                     {
                         string infoObj = "";
                         try
                         {
                             infoObj = "_OwnerID: " + saveobj.StructMaster.OwnerID.ToString() + " (" + saveobj.Coords.Pos.X + ", " + saveobj.Coords.Pos.Y + ", " + saveobj.Coords.Pos.Z + ")";
                         }
                         catch (Exception ex2)
                         {
                             Logger.LogError("[ServerSAveHandler] SaveServerSaveables _OwnerID Error");
                         }
                         Logger.LogError("[ServerSAveHandler] SaveServerSaveables Error " + infoObj);
                     }
                 }
             }
         }
     }
 }
Пример #7
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     ComplexControl.Items.Add(new ServerSettingsControlViewModel(ServerSave.GetSettings((ulong)ServerSave.Settings.Count).serverid));
 }
Пример #8
0
        private void SaveInstances(ref WorldSave.Builder save)
        {
            using (Recycler <SavedObject, SavedObject.Builder> recycler = SavedObject.Recycler())
            {
                if (recycler == null)
                {
                    Logger.LogError("[Fougerite WorldSave] Recycler is null, what the hell?");
                    return;
                }
                SavedObject.Builder builder = recycler.OpenBuilder();
                int num = -2147483648;
                List <ServerSave> CopiedList = new List <ServerSave>();

                int count = ServerSaveManager.Instances.All.Count;
                for (int i = 0; i < count; i++)
                {
                    // Ensure check, since the list can change during save.
                    if (ServerSaveManager.Instances.All.Count <= i)
                    {
                        break;
                    }

                    ServerSave save2 = ServerSaveManager.Instances.All[i];

                    if (save2 != null && save2.gameObject != null)
                    {
                        //StructureMaster element = save2.gameObject.GetComponent<StructureMaster>();

                        //if (element)
                        //{
                        //    if (element._structureComponents != null && element._structureComponents.Count > 0) {
                        //        CopiedList.Add(save2);
                        //    } else
                        //    {
                        //        Logger.Log("[Save Error] item bugado removido =  ownerID:" + element.ownerID + " " + element.name + " " + element.transform.position.ToString());
                        //        element.OnDestroy();
                        //    }
                        //} else
                        //{
                        CopiedList.Add(save2);
                        //}
                    }
                }

                foreach (ServerSave save2 in CopiedList)
                {
                    if (save2 != null)
                    {
                        try
                        {
                            builder.Clear();

                            try
                            {
                                bool flag;
                                if ((flag = ((int)save2.REGED) == 1) || (((int)save2.REGED) == 2))
                                {
                                    num++;
                                    int sortOrder = num;
                                    if (flag)
                                    {
                                        save2.SaveInstance_NetworkView(ref builder, sortOrder);
                                    }
                                    else
                                    {
                                        save2.SaveInstance_NGC(ref builder, sortOrder);
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                SuperLogError(save2);
                                Logger.LogError("[ServerSAveHandler] SaveInstances save2.REGED Error ");
                            }

                            save.AddInstanceObject(builder);
                        }
                        catch (Exception ex)
                        {
                            SuperLogError(save2);
                            Logger.LogError("[ServerSAveHandler] SaveInstances AddInstanceObject or Clear Error ");
                        }
                    }
                }
            }
        }