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); }
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; }