Example #1
0
        public bool Write(DAIIO io, bool skiplength = false)
        {
            try
            {
                if (!skiplength)
                {
                    io.WriteBits(Length, LengthBits);
                }
                io.WriteBits(InProgress, 0x18);
                io.WriteInt32(MissionArraySize);
                if (MissionArray0 == null)
                {
                    MissionArray0 = new MissionArray[MissionArray0Count];

                    for (int xb = 0; xb < MissionArray0Count; xb++)
                    {
                        MissionArray0[xb] = new MissionArray(SStructure, true);
                    }
                }
                io.WriteInt16((short)MissionArray0.Length);
                for (int i = 0; i < MissionArray0.Length; i++)
                {
                    MissionArray0[i].Write(io);
                }
                io.WriteBits(Completed, 0x18);
                if (MissionArray1 == null)
                {
                    MissionArray1 = new MissionArray[MissionArray1Count];

                    for (int xb = 0; xb < MissionArray1Count; xb++)
                    {
                        MissionArray1[xb] = new MissionArray(SStructure, false);
                    }
                }
                io.WriteInt16((short)MissionArray1.Length);
                for (int i = 0; i < MissionArray1.Length; i++)
                {
                    MissionArray1[i].Write(io);
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #2
0
        public MissionManager Read(DAIIO io)
        {
            xLength            = io.ReadBit2(LengthBits);
            InProgress         = io.ReadBit2(0x18);
            MissionArraySize   = io.ReadInt32();
            MissionArray0Count = io.ReadInt16();
            MissionArray0      = new MissionArray[MissionArray0Count];
            for (int i = 0; i < MissionArray0Count; i++)
            {
                MissionArray0[i] = new MissionArray(SStructure, true).Read(io);
            }

            Completed = io.ReadBit2(0x18);

            MissionArray1Count = io.ReadInt16();
            MissionArray1      = new MissionArray[MissionArray1Count];
            for (int i = 0; i < MissionArray1Count; i++)
            {
                MissionArray1[i] = new MissionArray(SStructure, false).Read(io);
            }
            return(this);
        }