Exemplo n.º 1
0
        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;
            }
        }