public bool CollectDataFromBinary(BinaryTable table, int index) { BuffConfigRecord record = GetRecord(table, index); Id = DBCUtil.ExtractInt(table, record.Id, 0); Description = DBCUtil.ExtractString(table, record.Description, ""); Script = DBCUtil.ExtractString(table, record.Script, ""); AttrId = DBCUtil.ExtractInt(table, record.AttrId, 0); MaxCount = DBCUtil.ExtractInt(table, record.MaxCount, 0); return(true); }
private static unsafe byte[] GetRecordBytes(BuffConfigRecord record) { byte[] bytes = new byte[sizeof(BuffConfigRecord)]; fixed(byte *p = bytes) { BuffConfigRecord *temp = (BuffConfigRecord *)p; *temp = record; } return(bytes); }
public void AddToBinary(BinaryTable table) { BuffConfigRecord record = new BuffConfigRecord(); record.Id = DBCUtil.SetValue(table, Id, 0); record.Description = DBCUtil.SetValue(table, Description, ""); record.Script = DBCUtil.SetValue(table, Script, ""); record.AttrId = DBCUtil.SetValue(table, AttrId, 0); record.MaxCount = DBCUtil.SetValue(table, MaxCount, 0); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }