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); } }
// 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); } }
public static void save() { River river = new River(Level.info.path + "/Environment/Bounds.dat", false); river.writeByte(LevelNavigation.SAVEDATA_BOUNDS_VERSION); river.writeByte((byte)LevelNavigation.bounds.Count); byte b = 0; while ((int)b < LevelNavigation.bounds.Count) { river.writeSingleVector3(LevelNavigation.bounds[(int)b].center); river.writeSingleVector3(LevelNavigation.bounds[(int)b].size); b += 1; } river.closeRiver(); River river2 = new River(Level.info.path + "/Environment/Flags_Data.dat", false); river2.writeByte(LevelNavigation.SAVEDATA_FLAG_DATA_VERSION); river2.writeByte((byte)LevelNavigation.flagData.Count); byte b2 = 0; while ((int)b2 < LevelNavigation.flagData.Count) { river2.writeString(LevelNavigation.flagData[(int)b2].difficultyGUID); river2.writeByte(LevelNavigation.flagData[(int)b2].maxZombies); river2.writeBoolean(LevelNavigation.flagData[(int)b2].spawnZombies); b2 += 1; } river2.closeRiver(); River river3 = new River(Level.info.path + "/Environment/Flags.dat", false); river3.writeByte(LevelNavigation.SAVEDATA_FLAGS_VERSION); int num = LevelNavigation.flags.Count; while (ReadWrite.fileExists(string.Concat(new object[] { Level.info.path, "/Environment/Navigation_", num, ".dat" }), false, false)) { ReadWrite.deleteFile(string.Concat(new object[] { Level.info.path, "/Environment/Navigation_", num, ".dat" }), false, false); num++; } river3.writeByte((byte)LevelNavigation.flags.Count); byte b3 = 0; while ((int)b3 < LevelNavigation.flags.Count) { Flag flag = LevelNavigation.flags[(int)b3]; river3.writeSingleVector3(flag.point); river3.writeSingle(flag.width); river3.writeSingle(flag.height); if (flag.needsNavigationSave) { River river4 = new River(string.Concat(new object[] { Level.info.path, "/Environment/Navigation_", b3, ".dat" }), false); river4.writeByte(LevelNavigation.SAVEDATA_NAVIGATION_VERSION); RecastGraph graph = flag.graph; river4.writeSingleVector3(graph.forcedBoundsCenter); river4.writeSingleVector3(graph.forcedBoundsSize); river4.writeByte((byte)graph.tileXCount); river4.writeByte((byte)graph.tileZCount); RecastGraph.NavmeshTile[] tiles = graph.GetTiles(); for (int i = 0; i < graph.tileZCount; i++) { for (int j = 0; j < graph.tileXCount; j++) { RecastGraph.NavmeshTile navmeshTile = tiles[j + i * graph.tileXCount]; river4.writeUInt16((ushort)navmeshTile.tris.Length); for (int k = 0; k < navmeshTile.tris.Length; k++) { river4.writeUInt16((ushort)navmeshTile.tris[k]); } river4.writeUInt16((ushort)navmeshTile.verts.Length); for (int l = 0; l < navmeshTile.verts.Length; l++) { Int3 @int = navmeshTile.verts[l]; river4.writeInt32(@int.x); river4.writeInt32(@int.y); river4.writeInt32(@int.z); } } } river4.closeRiver(); flag.needsNavigationSave = false; } b3 += 1; } river3.closeRiver(); }