Exemple #1
0
        public static EquipParam FromDataReader(System.Data.Common.DbDataReader reader)
        {
            EquipParam result = new EquipParam();

            result.ID = (int)reader["ID"];
            for (var i = 0; i < NumValues; i++)
            {
                result.Values[i] = (int)reader["C" + i];
            }

            return(result);
        }
Exemple #2
0
        public override void LoadSection(BinaryReaderEx reader)
        {
            base.LoadSection(reader);

            this.NumEntries     = reader.ReadInt16(Endianness.BigEndian);
            this.EntryLength    = reader.ReadInt16(Endianness.BigEndian);
            this.ValuesPerEntry = reader.ReadInt16(Endianness.BigEndian);

            this.EquipParams  = new List <EquipParam>(this.NumEntries);
            this.ValueLengths = new byte[this.ValuesPerEntry];

            for (var i = 0; i < this.ValuesPerEntry; i++)
            {
                this.ValueLengths[i] = reader.ReadByte();
            }

            for (var p = 0; p < this.NumEntries; p++)
            {
                var param = new EquipParam();
                param.ID = p + 1;
                var  paramData = reader.ReadBytes(this.EntryLength);
                int  offset    = 0;
                byte thisByte  = paramData[offset];
                int  bitCnt    = 8;
                for (var v = 0; v < this.ValuesPerEntry; v++)
                {
                    int thisLen = this.ValueLengths[v];
                    int val     = 0;
                    do
                    {
                        val <<= 1;
                        if ((thisByte & 0x80) != 0)
                        {
                            val |= 1;
                        }
                        thisByte <<= 1;
                        bitCnt--;
                        if (bitCnt == 0)
                        {
                            offset++;
                            thisByte = paramData[offset];
                            bitCnt   = 8;
                        }
                        thisLen--;
                    } while (thisLen != 0);
                    param.Values[v] = val;
                }
                this.EquipParams.Add(param);
            }
        }
        public override void LoadSection(BinaryReaderEx reader)
        {
            base.LoadSection(reader);

            this.NumEntries = reader.ReadInt16(Endianness.BigEndian);
            this.EntryLength = reader.ReadInt16(Endianness.BigEndian);
            this.ValuesPerEntry = reader.ReadInt16(Endianness.BigEndian);

            this.EquipParams = new List<EquipParam>(this.NumEntries);
            this.ValueLengths = new byte[this.ValuesPerEntry];

            for (var i = 0; i < this.ValuesPerEntry; i++)
            {
                this.ValueLengths[i] = reader.ReadByte();
            }

            for (var p = 0; p < this.NumEntries; p++)
            {
                var param = new EquipParam();
                param.ID = p + 1;
                var paramData = reader.ReadBytes(this.EntryLength);
                int offset = 0;
                byte thisByte = paramData[offset];
                int bitCnt = 8;
                for (var v = 0; v < this.ValuesPerEntry; v++)
                {
                    int thisLen = this.ValueLengths[v];
                    int val = 0;
                    do
                    {
                        val <<= 1;
                        if ((thisByte & 0x80) != 0)
                        {
                            val |= 1;
                        }
                        thisByte <<= 1;
                        bitCnt--;
                        if (bitCnt == 0)
                        {
                            offset++;
                            thisByte = paramData[offset];
                            bitCnt = 8;
                        }
                        thisLen--;
                    } while (thisLen != 0);
                    param.Values[v] = val;
                }
                this.EquipParams.Add(param);
            }
        }
        private static void InsertRow(EquipParam row)
        {
            insert.Parameters["@ID"].Value = row.ID;
            for (var i = 0; i < EquipParam.NumValues; i++)
            {
                insert.Parameters["@C" + i].Value = row.Values[i];
            }

            insert.ExecuteNonQuery();
        }
        public static EquipParam FromDataReader(System.Data.Common.DbDataReader reader)
        {
            EquipParam result = new EquipParam();
            result.ID = (int)reader["ID"];
            for (var i = 0; i < NumValues; i++)
            {
                result.Values[i] = (int)reader["C" + i];
            }

            return result;
        }