Beispiel #1
0
        // Token: 0x06002894 RID: 10388 RVA: 0x000F6F1C File Offset: 0x000F531C
        public static void save()
        {
            River river = LevelSavedata.openRiver("/Events.dat", false);

            river.writeByte(LevelManager.SAVEDATA_VERSION);
            river.writeUInt32(LevelManager.airdropFrequency);
            river.writeBoolean(LevelManager.hasAirdrop);
        }
Beispiel #2
0
        // Token: 0x06002FB0 RID: 12208 RVA: 0x0013BA70 File Offset: 0x00139E70
        public static void save()
        {
            River river = ServerSavedata.openRiver("/Server/Blacklist.dat", false);

            river.writeByte(SteamBlacklist.SAVEDATA_VERSION);
            river.writeUInt16((ushort)SteamBlacklist.list.Count);
            ushort num = 0;

            while ((int)num < SteamBlacklist.list.Count)
            {
                SteamBlacklistID steamBlacklistID = SteamBlacklist.list[(int)num];
                river.writeSteamID(steamBlacklistID.playerID);
                river.writeUInt32(steamBlacklistID.ip);
                river.writeSteamID(steamBlacklistID.judgeID);
                river.writeString(steamBlacklistID.reason);
                river.writeUInt32(steamBlacklistID.duration);
                river.writeUInt32(steamBlacklistID.banned);
                num += 1;
            }
            river.closeRiver();
        }
Beispiel #3
0
        public static void save()
        {
            River river = LevelSavedata.openRiver("/Groups.dat", false);

            river.writeByte(GroupManager.SAVEDATA_VERSION);
            river.writeSteamID(GroupManager.availableGroupID);
            Dictionary <CSteamID, GroupInfo> .ValueCollection values = GroupManager.knownGroups.Values;
            river.writeInt32(values.Count);
            foreach (GroupInfo groupInfo in values)
            {
                river.writeSteamID(groupInfo.groupID);
                river.writeString(groupInfo.name);
                river.writeUInt32(groupInfo.members);
            }
        }
        public static void save()
        {
            River river = LevelSavedata.openRiver("/Structures.dat", false);

            river.writeByte(StructureManager.SAVEDATA_VERSION);
            river.writeUInt32(Provider.time);
            for (byte b = 0; b < Regions.WORLD_SIZE; b += 1)
            {
                for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1)
                {
                    StructureRegion region = StructureManager.regions[(int)b, (int)b2];
                    StructureManager.saveRegion(river, region);
                }
            }
            river.closeRiver();
        }
        // Token: 0x060028C1 RID: 10433 RVA: 0x000F7C24 File Offset: 0x000F6024
        public static void save()
        {
            River river = LevelSavedata.openRiver("/Lighting.dat", false);

            river.writeByte(LightingManager.SAVEDATA_VERSION);
            river.writeUInt32(LightingManager.cycle);
            river.writeUInt32(LightingManager.time);
            river.writeUInt32(LightingManager.rainFrequency);
            river.writeUInt32(LightingManager.rainDuration);
            river.writeBoolean(LightingManager.hasRain);
            river.writeByte((byte)LevelLighting.rainyness);
            river.writeUInt32(LightingManager.snowFrequency);
            river.writeUInt32(LightingManager.snowDuration);
            river.writeBoolean(LightingManager.hasSnow);
            river.writeByte((byte)LevelLighting.snowyness);
        }
Beispiel #6
0
        // Token: 0x06002825 RID: 10277 RVA: 0x000F3410 File Offset: 0x000F1810
        public static void save()
        {
            River river = LevelSavedata.openRiver("/Groups.dat", false);

            river.writeByte(GroupManager.SAVEDATA_VERSION);
            river.writeSteamID(GroupManager.availableGroupID);
            Dictionary <CSteamID, GroupInfo> .ValueCollection values = GroupManager.knownGroups.Values;
            List <GroupInfo> list = new List <GroupInfo>();

            foreach (GroupInfo groupInfo in values)
            {
                if (groupInfo.members >= 1u && !string.IsNullOrEmpty(groupInfo.name))
                {
                    list.Add(groupInfo);
                }
            }
            river.writeInt32(list.Count);
            foreach (GroupInfo groupInfo2 in list)
            {
                river.writeSteamID(groupInfo2.groupID);
                river.writeString(groupInfo2.name);
                river.writeUInt32(groupInfo2.members);
            }
        }
        private static void saveRegion(River river, StructureRegion region)
        {
            uint   time = Provider.time;
            ushort num  = 0;
            ushort num2 = 0;

            while ((int)num2 < region.structures.Count)
            {
                StructureData structureData = region.structures[(int)num2];
                if ((!Dedicator.isDedicated || Provider.modeConfigData.Structures.Decay_Time == 0u || time < structureData.objActiveDate || time - structureData.objActiveDate < Provider.modeConfigData.Structures.Decay_Time) && structureData.structure.asset.isSaveable)
                {
                    num += 1;
                }
                num2 += 1;
            }
            river.writeUInt16(num);
            ushort num3 = 0;

            while ((int)num3 < region.structures.Count)
            {
                StructureData structureData2 = region.structures[(int)num3];
                if ((!Dedicator.isDedicated || Provider.modeConfigData.Structures.Decay_Time == 0u || time < structureData2.objActiveDate || time - structureData2.objActiveDate < Provider.modeConfigData.Structures.Decay_Time) && structureData2.structure.asset.isSaveable)
                {
                    river.writeUInt16(structureData2.structure.id);
                    river.writeUInt16(structureData2.structure.health);
                    river.writeSingleVector3(structureData2.point);
                    river.writeByte(structureData2.angle_x);
                    river.writeByte(structureData2.angle_y);
                    river.writeByte(structureData2.angle_z);
                    river.writeUInt64(structureData2.owner);
                    river.writeUInt64(structureData2.group);
                    river.writeUInt32(structureData2.objActiveDate);
                }
                num3 += 1;
            }
        }
        // Token: 0x06002561 RID: 9569 RVA: 0x000D93E4 File Offset: 0x000D77E4
        public static void save()
        {
            River river = new River(Level.info.path + "/Environment/Nodes.dat", false);

            river.writeByte(LevelNodes.SAVEDATA_VERSION);
            byte   b   = 0;
            ushort num = 0;

            while ((int)num < LevelNodes.nodes.Count)
            {
                if (LevelNodes.nodes[(int)num].type != ENodeType.LOCATION || ((LocationNode)LevelNodes.nodes[(int)num]).name.Length > 0)
                {
                    b += 1;
                }
                num += 1;
            }
            river.writeByte(b);
            byte b2 = 0;

            while ((int)b2 < LevelNodes.nodes.Count)
            {
                if (LevelNodes.nodes[(int)b2].type != ENodeType.LOCATION || ((LocationNode)LevelNodes.nodes[(int)b2]).name.Length > 0)
                {
                    river.writeSingleVector3(LevelNodes.nodes[(int)b2].point);
                    river.writeByte((byte)LevelNodes.nodes[(int)b2].type);
                    if (LevelNodes.nodes[(int)b2].type == ENodeType.LOCATION)
                    {
                        river.writeString(((LocationNode)LevelNodes.nodes[(int)b2]).name);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.SAFEZONE)
                    {
                        river.writeSingle(((SafezoneNode)LevelNodes.nodes[(int)b2]).radius);
                        river.writeBoolean(((SafezoneNode)LevelNodes.nodes[(int)b2]).isHeight);
                        river.writeBoolean(((SafezoneNode)LevelNodes.nodes[(int)b2]).noWeapons);
                        river.writeBoolean(((SafezoneNode)LevelNodes.nodes[(int)b2]).noBuildables);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.PURCHASE)
                    {
                        river.writeSingle(((PurchaseNode)LevelNodes.nodes[(int)b2]).radius);
                        river.writeUInt16(((PurchaseNode)LevelNodes.nodes[(int)b2]).id);
                        river.writeUInt32(((PurchaseNode)LevelNodes.nodes[(int)b2]).cost);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.ARENA)
                    {
                        river.writeSingle(((ArenaNode)LevelNodes.nodes[(int)b2]).radius);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.DEADZONE)
                    {
                        river.writeSingle(((DeadzoneNode)LevelNodes.nodes[(int)b2]).radius);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.AIRDROP)
                    {
                        river.writeUInt16(((AirdropNode)LevelNodes.nodes[(int)b2]).id);
                    }
                    else if (LevelNodes.nodes[(int)b2].type == ENodeType.EFFECT)
                    {
                        river.writeByte((byte)((EffectNode)LevelNodes.nodes[(int)b2]).shape);
                        river.writeSingle(((EffectNode)LevelNodes.nodes[(int)b2]).radius);
                        river.writeSingleVector3(((EffectNode)LevelNodes.nodes[(int)b2]).bounds);
                        river.writeUInt16(((EffectNode)LevelNodes.nodes[(int)b2]).id);
                        river.writeBoolean(((EffectNode)LevelNodes.nodes[(int)b2]).noWater);
                        river.writeBoolean(((EffectNode)LevelNodes.nodes[(int)b2]).noLighting);
                    }
                }
                b2 += 1;
            }
            river.closeRiver();
        }
Beispiel #9
0
        public static void save()
        {
            if (Level.info.configData.Use_Legacy_Objects)
            {
                River river = new River(Level.info.path + "/Level/Objects.dat", false);
                river.writeByte(LevelObjects.SAVEDATA_VERSION);
                river.writeUInt32(LevelObjects.availableInstanceID);
                for (byte b = 0; b < Regions.WORLD_SIZE; b += 1)
                {
                    for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1)
                    {
                        List <LevelObject> list = LevelObjects.objects[(int)b, (int)b2];
                        river.writeUInt16((ushort)list.Count);
                        ushort num = 0;
                        while ((int)num < list.Count)
                        {
                            LevelObject levelObject = list[(int)num];
                            if (levelObject != null && levelObject.transform != null && levelObject.id != 0)
                            {
                                river.writeSingleVector3(levelObject.transform.position);
                                river.writeSingleQuaternion(levelObject.transform.rotation);
                                river.writeSingleVector3(levelObject.transform.localScale);
                                river.writeUInt16(levelObject.id);
                                river.writeString(levelObject.name);
                                river.writeGUID(levelObject.GUID);
                                river.writeByte((byte)levelObject.placementOrigin);
                                river.writeUInt32(levelObject.instanceID);
                            }
                            else
                            {
                                river.writeSingleVector3(Vector3.zero);
                                river.writeSingleQuaternion(Quaternion.identity);
                                river.writeSingleVector3(Vector3.one);
                                river.writeUInt16(0);
                                river.writeString(string.Empty);
                                river.writeGUID(Guid.Empty);
                                river.writeByte(0);
                                river.writeUInt32(0u);
                                Debug.LogError(string.Concat(new object[]
                                {
                                    "Found invalid object at ",
                                    b,
                                    ", ",
                                    b2,
                                    " with model: ",
                                    levelObject.transform,
                                    " and ID: ",
                                    levelObject.id
                                }));
                            }
                            num += 1;
                        }
                    }
                }
                river.closeRiver();
            }
            River river2 = new River(Level.info.path + "/Level/Buildables.dat", false);

            river2.writeByte(LevelObjects.SAVEDATA_VERSION);
            for (byte b3 = 0; b3 < Regions.WORLD_SIZE; b3 += 1)
            {
                for (byte b4 = 0; b4 < Regions.WORLD_SIZE; b4 += 1)
                {
                    List <LevelBuildableObject> list2 = LevelObjects.buildables[(int)b3, (int)b4];
                    river2.writeUInt16((ushort)list2.Count);
                    ushort num2 = 0;
                    while ((int)num2 < list2.Count)
                    {
                        LevelBuildableObject levelBuildableObject = list2[(int)num2];
                        if (levelBuildableObject != null && levelBuildableObject.transform != null && levelBuildableObject.id != 0)
                        {
                            river2.writeSingleVector3(levelBuildableObject.transform.position);
                            river2.writeSingleQuaternion(levelBuildableObject.transform.rotation);
                            river2.writeUInt16(levelBuildableObject.id);
                        }
                        else
                        {
                            river2.writeSingleVector3(Vector3.zero);
                            river2.writeSingleQuaternion(Quaternion.identity);
                            river2.writeUInt16(0);
                            Debug.LogError(string.Concat(new object[]
                            {
                                "Found invalid object at ",
                                b3,
                                ", ",
                                b4,
                                " with model: ",
                                levelBuildableObject.transform,
                                " and ID: ",
                                levelBuildableObject.id
                            }));
                        }
                        num2 += 1;
                    }
                }
            }
            river2.closeRiver();
        }