private static unsafe byte[] GetRecordBytes(CharacterConfigRecord record) { byte[] bytes = new byte[sizeof(CharacterConfigRecord)]; fixed(byte *p = bytes) { CharacterConfigRecord *temp = (CharacterConfigRecord *)p; *temp = record; } return(bytes); }
public bool CollectDataFromBinary(BinaryTable table, int index) { CharacterConfigRecord record = GetRecord(table, index); Id = DBCUtil.ExtractInt(table, record.Id, 0); Description = DBCUtil.ExtractString(table, record.Description, ""); Model = DBCUtil.ExtractString(table, record.Model, ""); Scale = DBCUtil.ExtractFloat(table, record.Scale, 0); ActionId = DBCUtil.ExtractInt(table, record.ActionId, 0); ActionPrefix = DBCUtil.ExtractString(table, record.ActionPrefix, ""); AIScript = DBCUtil.ExtractString(table, record.AIScript, ""); AttrId = DBCUtil.ExtractInt(table, record.AttrId, 0); Skills = DBCUtil.ExtractIntArray(table, record.Skills, null); return(true); }
public void AddToBinary(BinaryTable table) { CharacterConfigRecord record = new CharacterConfigRecord(); record.Id = DBCUtil.SetValue(table, Id, 0); record.Description = DBCUtil.SetValue(table, Description, ""); record.Model = DBCUtil.SetValue(table, Model, ""); record.Scale = DBCUtil.SetValue(table, Scale, 0); record.ActionId = DBCUtil.SetValue(table, ActionId, 0); record.ActionPrefix = DBCUtil.SetValue(table, ActionPrefix, ""); record.AIScript = DBCUtil.SetValue(table, AIScript, ""); record.AttrId = DBCUtil.SetValue(table, AttrId, 0); record.Skills = DBCUtil.SetValue(table, Skills, null); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }