示例#1
0
    public void WriteObjectSave(ref SavedObject.Builder saveobj)
    {
        NetEntityID netEntityID;

        using (Recycler <objectDeployable, objectDeployable.Builder> recycler = objectDeployable.Recycler())
        {
            objectDeployable.Builder builder = recycler.OpenBuilder();
            builder.SetCreatorID(this.creatorID);
            builder.SetOwnerID(this.ownerID);
            saveobj.SetDeployable(builder);
        }
        using (Recycler <objectICarriableTrans, objectICarriableTrans.Builder> recycler1 = objectICarriableTrans.Recycler())
        {
            objectICarriableTrans.Builder builder1 = recycler1.OpenBuilder();
            if (!this._carrier || (int)NetEntityID.Of(this._carrier, out netEntityID) == 0)
            {
                builder1.ClearTransCarrierID();
            }
            else
            {
                builder1.SetTransCarrierID(netEntityID.id);
            }
            saveobj.SetCarriableTrans(builder1);
        }
    }
示例#2
0
 // Token: 0x06000F4B RID: 3915 RVA: 0x0003A944 File Offset: 0x00038B44
 public WorldSave.Builder SetInstanceObject(int index, SavedObject.Builder builderForValue)
 {
     ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
     this.PrepareBuilder();
     this.result.instanceObject_[index] = builderForValue.Build();
     return(this);
 }
示例#3
0
 // Token: 0x06000F4D RID: 3917 RVA: 0x0003A9B0 File Offset: 0x00038BB0
 public WorldSave.Builder AddInstanceObject(SavedObject.Builder builderForValue)
 {
     ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
     this.PrepareBuilder();
     this.result.instanceObject_.Add(builderForValue.Build());
     return(this);
 }
示例#4
0
 public void WriteObjectSave(ref SavedObject.Builder saveobj)
 {
     using (Recycler <objectFireBarrel, objectFireBarrel.Builder> recycler = objectFireBarrel.Recycler())
     {
         objectFireBarrel.Builder builder = recycler.OpenBuilder();
         builder.SetOnFire(this.isOn);
         saveobj.SetFireBarrel(builder);
     }
 }
        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);
                    }
                }
            }
        }
 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);
                 }
             }
         }
     }
 }
 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);
                     }
                 }
             }
         }
     }
 }
示例#8
0
 public void WriteObjectSave(ref SavedObject.Builder saveobj)
 {
     using (Recycler <objectDeployable, objectDeployable.Builder> recycler = objectDeployable.Recycler())
     {
         objectDeployable.Builder builderForValue = recycler.OpenBuilder();
         builderForValue.SetCreatorID(this.creatorID);
         builderForValue.SetOwnerID(this.ownerID);
         saveobj.SetDeployable(builderForValue);
     }
     using (Recycler <objectICarriableTrans, objectICarriableTrans.Builder> recycler2 = objectICarriableTrans.Recycler())
     {
         NetEntityID yid;
         objectICarriableTrans.Builder builder2 = recycler2.OpenBuilder();
         if ((this._carrier != null) && (((int)NetEntityID.Of((MonoBehaviour)this._carrier, out yid)) != 0))
         {
             builder2.SetTransCarrierID(yid.id);
         }
         else
         {
             builder2.ClearTransCarrierID();
         }
         saveobj.SetCarriableTrans(builder2);
     }
 }
        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 ");
                        }
                    }
                }
            }
        }
示例#10
0
 public void WriteObjectSave(ref SavedObject.Builder saveobj)
 {
 }