Exemple #1
0
 // Token: 0x06002824 RID: 10276 RVA: 0x000F3350 File Offset: 0x000F1750
 public static void load()
 {
     if (LevelSavedata.fileExists("/Groups.dat"))
     {
         River river = LevelSavedata.openRiver("/Groups.dat", true);
         byte  b     = river.readByte();
         if (b > 0)
         {
             GroupManager.availableGroupID = river.readSteamID();
             if (b > 1)
             {
                 int num = river.readInt32();
                 for (int i = 0; i < num; i++)
                 {
                     CSteamID csteamID = river.readSteamID();
                     string   text     = river.readString();
                     uint     num2     = river.readUInt32();
                     if (num2 >= 1u && !string.IsNullOrEmpty(text))
                     {
                         if (!GroupManager.knownGroups.ContainsKey(csteamID))
                         {
                             GroupManager.knownGroups.Add(csteamID, new GroupInfo(csteamID, text, num2));
                         }
                     }
                 }
             }
         }
     }
 }
Exemple #2
0
 // Token: 0x06002FAF RID: 12207 RVA: 0x0013B9AC File Offset: 0x00139DAC
 public static void load()
 {
     SteamBlacklist._list = new List <SteamBlacklistID>();
     if (ServerSavedata.fileExists("/Server/Blacklist.dat"))
     {
         River river = ServerSavedata.openRiver("/Server/Blacklist.dat", true);
         byte  b     = river.readByte();
         if (b > 1)
         {
             ushort num = river.readUInt16();
             for (ushort num2 = 0; num2 < num; num2 += 1)
             {
                 CSteamID newPlayerID = river.readSteamID();
                 uint     newIP;
                 if (b > 2)
                 {
                     newIP = river.readUInt32();
                 }
                 else
                 {
                     newIP = 0u;
                 }
                 CSteamID         newJudgeID       = river.readSteamID();
                 string           newReason        = river.readString();
                 uint             newDuration      = river.readUInt32();
                 uint             newBanned        = river.readUInt32();
                 SteamBlacklistID steamBlacklistID = new SteamBlacklistID(newPlayerID, newIP, newJudgeID, newReason, newDuration, newBanned);
                 if (!steamBlacklistID.isExpired)
                 {
                     SteamBlacklist.list.Add(steamBlacklistID);
                 }
             }
         }
     }
 }
Exemple #3
0
 public static void load()
 {
     if (LevelSavedata.fileExists("/Groups.dat"))
     {
         River river = LevelSavedata.openRiver("/Groups.dat", true);
         byte  b     = river.readByte();
         if (b > 0)
         {
             GroupManager.availableGroupID = river.readSteamID();
             if (b > 1)
             {
                 int num = river.readInt32();
                 for (int i = 0; i < num; i++)
                 {
                     CSteamID csteamID = river.readSteamID();
                     string   newName  = river.readString();
                     uint     num2     = river.readUInt32();
                     if (num2 > 0u)
                     {
                         GroupManager.knownGroups.Add(csteamID, new GroupInfo(csteamID, newName, num2));
                     }
                 }
             }
         }
     }
 }
Exemple #4
0
 // Token: 0x060030A6 RID: 12454 RVA: 0x0013F1D4 File Offset: 0x0013D5D4
 public static void load()
 {
     SteamWhitelist._list = new List <SteamWhitelistID>();
     if (ServerSavedata.fileExists("/Server/Whitelist.dat"))
     {
         River river = ServerSavedata.openRiver("/Server/Whitelist.dat", true);
         byte  b     = river.readByte();
         if (b > 1)
         {
             ushort num = river.readUInt16();
             for (ushort num2 = 0; num2 < num; num2 += 1)
             {
                 CSteamID         newSteamID = river.readSteamID();
                 string           newTag     = river.readString();
                 CSteamID         newJudgeID = river.readSteamID();
                 SteamWhitelistID item       = new SteamWhitelistID(newSteamID, newTag, newJudgeID);
                 SteamWhitelist.list.Add(item);
             }
         }
     }
 }
Exemple #5
0
 // Token: 0x06002FA5 RID: 12197 RVA: 0x0013B6E0 File Offset: 0x00139AE0
 public static void load()
 {
     SteamAdminlist._list   = new List <SteamAdminID>();
     SteamAdminlist.ownerID = CSteamID.Nil;
     if (ServerSavedata.fileExists("/Server/Adminlist.dat"))
     {
         River river = ServerSavedata.openRiver("/Server/Adminlist.dat", true);
         byte  b     = river.readByte();
         if (b > 1)
         {
             ushort num = river.readUInt16();
             for (ushort num2 = 0; num2 < num; num2 += 1)
             {
                 CSteamID     newPlayerID = river.readSteamID();
                 CSteamID     newJudgeID  = river.readSteamID();
                 SteamAdminID item        = new SteamAdminID(newPlayerID, newJudgeID);
                 SteamAdminlist.list.Add(item);
             }
         }
     }
 }
 // Token: 0x060025B9 RID: 9657 RVA: 0x000DCC18 File Offset: 0x000DB018
 public static void load()
 {
     LevelPlayers._models                 = new GameObject().transform;
     LevelPlayers.models.name             = "Players";
     LevelPlayers.models.parent           = Level.spawns;
     LevelPlayers.models.tag              = "Logic";
     LevelPlayers.models.gameObject.layer = LayerMasks.LOGIC;
     LevelPlayers._spawns                 = new List <PlayerSpawnpoint>();
     if (ReadWrite.fileExists(Level.info.path + "/Spawns/Players.dat", false, false))
     {
         River river = new River(Level.info.path + "/Spawns/Players.dat", false);
         byte  b     = river.readByte();
         if (b > 1 && b < 3)
         {
             river.readSteamID();
         }
         int  num  = 0;
         int  num2 = 0;
         byte b2   = river.readByte();
         for (int i = 0; i < (int)b2; i++)
         {
             Vector3 point = river.readSingleVector3();
             float   angle = (float)(river.readByte() * 2);
             bool    flag  = false;
             if (b > 3)
             {
                 flag = river.readBoolean();
             }
             if (flag)
             {
                 num2++;
             }
             else
             {
                 num++;
             }
             LevelPlayers.addSpawn(point, angle, flag);
         }
         river.closeRiver();
     }
 }
Exemple #7
0
 public static void load()
 {
     LevelVehicles._models                 = new GameObject().transform;
     LevelVehicles.models.name             = "Vehicles";
     LevelVehicles.models.parent           = Level.spawns;
     LevelVehicles.models.tag              = "Logic";
     LevelVehicles.models.gameObject.layer = LayerMasks.LOGIC;
     if (Level.isEditor || Provider.isServer)
     {
         LevelVehicles._tables = new List <VehicleTable>();
         LevelVehicles._spawns = new List <VehicleSpawnpoint>();
         if (ReadWrite.fileExists(Level.info.path + "/Spawns/Vehicles.dat", false, false))
         {
             River river = new River(Level.info.path + "/Spawns/Vehicles.dat", false);
             byte  b     = river.readByte();
             if (b > 1 && b < 3)
             {
                 river.readSteamID();
             }
             byte b2 = river.readByte();
             for (byte b3 = 0; b3 < b2; b3 += 1)
             {
                 Color  newColor = river.readColor();
                 string text     = river.readString();
                 ushort num;
                 if (b > 3)
                 {
                     num = river.readUInt16();
                     if (num != 0 && SpawnTableTool.resolve(num) == 0)
                     {
                         Assets.errors.Add(string.Concat(new object[]
                         {
                             Level.info.name,
                             " vehicle table \"",
                             text,
                             "\" references invalid spawn table ",
                             num,
                             "!"
                         }));
                     }
                 }
                 else
                 {
                     num = 0;
                 }
                 List <VehicleTier> list = new List <VehicleTier>();
                 byte b4 = river.readByte();
                 for (byte b5 = 0; b5 < b4; b5 += 1)
                 {
                     string newName            = river.readString();
                     float  newChance          = river.readSingle();
                     List <VehicleSpawn> list2 = new List <VehicleSpawn>();
                     byte b6 = river.readByte();
                     for (byte b7 = 0; b7 < b6; b7 += 1)
                     {
                         ushort newVehicle = river.readUInt16();
                         list2.Add(new VehicleSpawn(newVehicle));
                     }
                     list.Add(new VehicleTier(list2, newName, newChance));
                 }
                 LevelVehicles.tables.Add(new VehicleTable(list, newColor, text, num));
                 if (!Level.isEditor)
                 {
                     LevelVehicles.tables[(int)b3].buildTable();
                 }
             }
             ushort num2 = river.readUInt16();
             for (int i = 0; i < (int)num2; i++)
             {
                 byte    newType  = river.readByte();
                 Vector3 newPoint = river.readSingleVector3();
                 float   newAngle = (float)(river.readByte() * 2);
                 LevelVehicles.spawns.Add(new VehicleSpawnpoint(newType, newPoint, newAngle));
             }
             river.closeRiver();
         }
     }
 }
Exemple #8
0
 public static void load()
 {
     LevelObjects._models                 = new GameObject().transform;
     LevelObjects.models.name             = "Objects";
     LevelObjects.models.parent           = Level.level;
     LevelObjects.models.tag              = "Logic";
     LevelObjects.models.gameObject.layer = LayerMasks.LOGIC;
     LevelObjects._objects                = new List <LevelObject> [(int)Regions.WORLD_SIZE, (int)Regions.WORLD_SIZE];
     LevelObjects._buildables             = new List <LevelBuildableObject> [(int)Regions.WORLD_SIZE, (int)Regions.WORLD_SIZE];
     LevelObjects._total              = 0;
     LevelObjects._regions            = new bool[(int)Regions.WORLD_SIZE, (int)Regions.WORLD_SIZE];
     LevelObjects._loads              = new int[(int)Regions.WORLD_SIZE, (int)Regions.WORLD_SIZE];
     LevelObjects.shouldInstantlyLoad = true;
     LevelObjects.isHierarchyReady    = false;
     for (byte b = 0; b < Regions.WORLD_SIZE; b += 1)
     {
         for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1)
         {
             LevelObjects.loads[(int)b, (int)b2] = -1;
         }
     }
     for (byte b3 = 0; b3 < Regions.WORLD_SIZE; b3 += 1)
     {
         for (byte b4 = 0; b4 < Regions.WORLD_SIZE; b4 += 1)
         {
             LevelObjects.objects[(int)b3, (int)b4]    = new List <LevelObject>();
             LevelObjects.buildables[(int)b3, (int)b4] = new List <LevelBuildableObject>();
         }
     }
     if (Level.info.configData.Use_Legacy_Objects)
     {
         if (ReadWrite.fileExists(Level.info.path + "/Level/Objects.dat", false, false))
         {
             River river = new River(Level.info.path + "/Level/Objects.dat", false);
             byte  b5    = river.readByte();
             bool  flag  = true;
             if (b5 > 0)
             {
                 if (b5 > 1 && b5 < 3)
                 {
                     river.readSteamID();
                 }
                 if (b5 > 8)
                 {
                     LevelObjects.availableInstanceID = river.readUInt32();
                 }
                 else
                 {
                     LevelObjects.availableInstanceID = 1u;
                 }
                 for (byte b6 = 0; b6 < Regions.WORLD_SIZE; b6 += 1)
                 {
                     for (byte b7 = 0; b7 < Regions.WORLD_SIZE; b7 += 1)
                     {
                         ushort num = river.readUInt16();
                         for (ushort num2 = 0; num2 < num; num2 += 1)
                         {
                             Vector3    vector      = river.readSingleVector3();
                             Quaternion newRotation = river.readSingleQuaternion();
                             Vector3    newScale;
                             if (b5 > 3)
                             {
                                 newScale = river.readSingleVector3();
                             }
                             else
                             {
                                 newScale = Vector3.one;
                             }
                             ushort num3    = river.readUInt16();
                             string newName = string.Empty;
                             if (b5 > 5)
                             {
                                 newName = river.readString();
                             }
                             Guid newGUID = Guid.Empty;
                             if (b5 > 7)
                             {
                                 newGUID = river.readGUID();
                             }
                             ELevelObjectPlacementOrigin newPlacementOrigin = ELevelObjectPlacementOrigin.MANUAL;
                             if (b5 > 6)
                             {
                                 newPlacementOrigin = (ELevelObjectPlacementOrigin)river.readByte();
                             }
                             uint newInstanceID;
                             if (b5 > 8)
                             {
                                 newInstanceID = river.readUInt32();
                             }
                             else
                             {
                                 newInstanceID = LevelObjects.generateUniqueInstanceID();
                             }
                             if (num3 != 0)
                             {
                                 LevelObject levelObject = new LevelObject(vector, newRotation, newScale, num3, newName, newGUID, newPlacementOrigin, newInstanceID);
                                 if (levelObject.asset == null)
                                 {
                                     flag = false;
                                 }
                                 if (Level.isEditor)
                                 {
                                     byte b8;
                                     byte b9;
                                     Regions.tryGetCoordinate(vector, out b8, out b9);
                                     if (b8 != b6 || b9 != b7)
                                     {
                                         Debug.LogError(string.Concat(new object[]
                                         {
                                             num3,
                                             " should be in ",
                                             b8,
                                             ", ",
                                             b9,
                                             " but was in ",
                                             b6,
                                             ", ",
                                             b7,
                                             "!"
                                         }));
                                     }
                                     LevelObjects.objects[(int)b8, (int)b9].Add(levelObject);
                                 }
                                 else
                                 {
                                     LevelObjects.objects[(int)b6, (int)b7].Add(levelObject);
                                 }
                                 LevelObjects._total++;
                             }
                         }
                     }
                 }
             }
             if (flag)
             {
                 LevelObjects._hash = river.getHash();
             }
             else
             {
                 LevelObjects._hash = new byte[20];
             }
             river.closeRiver();
         }
         else
         {
             for (byte b10 = 0; b10 < Regions.WORLD_SIZE; b10 += 1)
             {
                 for (byte b11 = 0; b11 < Regions.WORLD_SIZE; b11 += 1)
                 {
                     if (ReadWrite.fileExists(string.Concat(new object[]
                     {
                         Level.info.path,
                         "/Objects/Objects_",
                         b10,
                         "_",
                         b11,
                         ".dat"
                     }), false, false))
                     {
                         River river2 = new River(string.Concat(new object[]
                         {
                             Level.info.path,
                             "/Objects/Objects_",
                             b10,
                             "_",
                             b11,
                             ".dat"
                         }), false);
                         byte b12 = river2.readByte();
                         if (b12 > 0)
                         {
                             ushort num4 = river2.readUInt16();
                             for (ushort num5 = 0; num5 < num4; num5 += 1)
                             {
                                 Vector3    position = river2.readSingleVector3();
                                 Quaternion rotation = river2.readSingleQuaternion();
                                 ushort     num6     = river2.readUInt16();
                                 string     empty    = string.Empty;
                                 Guid       empty2   = Guid.Empty;
                                 ELevelObjectPlacementOrigin placementOrigin = ELevelObjectPlacementOrigin.MANUAL;
                                 if (num6 != 0)
                                 {
                                     LevelObjects.addObject(position, rotation, Vector3.one, num6, empty, empty2, placementOrigin);
                                 }
                             }
                         }
                         river2.closeRiver();
                     }
                 }
             }
             LevelObjects._hash = new byte[20];
         }
     }
     else
     {
         LevelObjects._hash = new byte[20];
     }
     if ((Provider.isServer || Level.isEditor) && ReadWrite.fileExists(Level.info.path + "/Level/Buildables.dat", false, false))
     {
         River river3 = new River(Level.info.path + "/Level/Buildables.dat", false);
         river3.readByte();
         for (byte b13 = 0; b13 < Regions.WORLD_SIZE; b13 += 1)
         {
             for (byte b14 = 0; b14 < Regions.WORLD_SIZE; b14 += 1)
             {
                 ushort num7 = river3.readUInt16();
                 for (ushort num8 = 0; num8 < num7; num8 += 1)
                 {
                     Vector3    vector2      = river3.readSingleVector3();
                     Quaternion newRotation2 = river3.readSingleQuaternion();
                     ushort     num9         = river3.readUInt16();
                     if (num9 != 0)
                     {
                         LevelBuildableObject item = new LevelBuildableObject(vector2, newRotation2, num9);
                         if (Level.isEditor)
                         {
                             byte b15;
                             byte b16;
                             Regions.tryGetCoordinate(vector2, out b15, out b16);
                             if (b15 != b13 || b16 != b14)
                             {
                                 Debug.LogError(string.Concat(new object[]
                                 {
                                     num9,
                                     " should be in ",
                                     b15,
                                     ", ",
                                     b16,
                                     " but was in ",
                                     b13,
                                     ", ",
                                     b14,
                                     "!"
                                 }));
                             }
                             LevelObjects.buildables[(int)b15, (int)b16].Add(item);
                         }
                         else
                         {
                             LevelObjects.buildables[(int)b13, (int)b14].Add(item);
                         }
                         LevelObjects._total++;
                     }
                 }
             }
         }
         river3.closeRiver();
     }
     if (Level.info.configData.Use_Legacy_Objects && !Dedicator.isDedicated && !Level.isEditor)
     {
         for (byte b17 = 0; b17 < Regions.WORLD_SIZE; b17 += 1)
         {
             for (byte b18 = 0; b18 < Regions.WORLD_SIZE; b18 += 1)
             {
                 for (int i = 0; i < LevelObjects.objects[(int)b17, (int)b18].Count; i++)
                 {
                     LevelObject levelObject2 = LevelObjects.objects[(int)b17, (int)b18][i];
                     if (levelObject2.asset != null && !(levelObject2.transform == null))
                     {
                         if (levelObject2.asset.lod != EObjectLOD.NONE)
                         {
                             ObjectsLOD objectsLOD = levelObject2.transform.gameObject.AddComponent <ObjectsLOD>();
                             objectsLOD.lod    = levelObject2.asset.lod;
                             objectsLOD.bias   = levelObject2.asset.lodBias;
                             objectsLOD.center = levelObject2.asset.lodCenter;
                             objectsLOD.size   = levelObject2.asset.lodSize;
                             objectsLOD.calculateBounds();
                         }
                     }
                 }
             }
         }
     }
     if (Level.isEditor)
     {
         LevelObjects.reun  = new IReun[256];
         LevelObjects.step  = 0;
         LevelObjects.frame = 0;
     }
 }