public static void save() { River river = new River(Level.info.path + "/Environment/Roads.dat", false); river.writeByte(LevelRoads.SAVEDATA_ROADS_VERSION); river.writeByte((byte)LevelRoads.materials.Length); byte b = 0; while ((int)b < LevelRoads.materials.Length) { river.writeSingle(LevelRoads.materials[(int)b].width); river.writeSingle(LevelRoads.materials[(int)b].height); river.writeSingle(LevelRoads.materials[(int)b].depth); river.writeSingle(LevelRoads.materials[(int)b].offset); river.writeBoolean(LevelRoads.materials[(int)b].isConcrete); b += 1; } river.closeRiver(); river = new River(Level.info.path + "/Environment/Paths.dat", false); river.writeByte(LevelRoads.SAVEDATA_PATHS_VERSION); ushort num = 0; ushort num2 = 0; while ((int)num2 < LevelRoads.roads.Count) { if (LevelRoads.roads[(int)num2].joints.Count > 1) { num += 1; } num2 += 1; } river.writeUInt16(num); byte b2 = 0; while ((int)b2 < LevelRoads.roads.Count) { List <RoadJoint> joints = LevelRoads.roads[(int)b2].joints; if (joints.Count > 1) { river.writeUInt16((ushort)joints.Count); river.writeByte(LevelRoads.roads[(int)b2].material); river.writeBoolean(LevelRoads.roads[(int)b2].isLoop); ushort num3 = 0; while ((int)num3 < joints.Count) { RoadJoint roadJoint = joints[(int)num3]; river.writeSingleVector3(roadJoint.vertex); river.writeSingleVector3(roadJoint.getTangent(0)); river.writeSingleVector3(roadJoint.getTangent(1)); river.writeByte((byte)roadJoint.mode); river.writeSingle(roadJoint.offset); river.writeBoolean(roadJoint.ignoreTerrain); num3 += 1; } } b2 += 1; } 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); }
// 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); }
public static void save() { River river = new River(Level.info.path + "/Level/Visibility.dat", false); river.writeByte(LevelVisibility.SAVEDATA_VERSION); river.writeBoolean(LevelVisibility.roadsVisible); river.writeBoolean(LevelVisibility.navigationVisible); river.writeBoolean(LevelVisibility.nodesVisible); river.writeBoolean(LevelVisibility.itemsVisible); river.writeBoolean(LevelVisibility.playersVisible); river.writeBoolean(LevelVisibility.zombiesVisible); river.writeBoolean(LevelVisibility.vehiclesVisible); river.writeBoolean(LevelVisibility.borderVisible); river.writeBoolean(LevelVisibility.animalsVisible); river.closeRiver(); }
// Token: 0x060025BA RID: 9658 RVA: 0x000DCD44 File Offset: 0x000DB144 public static void save() { River river = new River(Level.info.path + "/Spawns/Players.dat", false); river.writeByte(LevelPlayers.SAVEDATA_VERSION); river.writeByte((byte)LevelPlayers.spawns.Count); for (int i = 0; i < LevelPlayers.spawns.Count; i++) { PlayerSpawnpoint playerSpawnpoint = LevelPlayers.spawns[i]; river.writeSingleVector3(playerSpawnpoint.point); river.writeByte(MeasurementTool.angleToByte(playerSpawnpoint.angle)); river.writeBoolean(playerSpawnpoint.isAlt); } river.closeRiver(); }
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(); }
// 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(); }