public override VehicleEntry ConvertTo(byte[] rawData, ref int id) { id = DBCRecordConverter.GetInt32(rawData, 0); VehicleEntry vehicleEntry = new VehicleEntry() { Id = DBCRecordConverter.GetUInt32(rawData, 0), Flags = (VehicleFlags)DBCRecordConverter.GetUInt32(rawData, 1), TurnSpeed = DBCRecordConverter.GetFloat(rawData, 2), PitchSpeed = DBCRecordConverter.GetFloat(rawData, 3), PitchMin = DBCRecordConverter.GetFloat(rawData, 4), PitchMax = DBCRecordConverter.GetFloat(rawData, 5) }; int num1 = 0; int num2 = 0; for (int index = 0; index < vehicleEntry.Seats.Length; ++index) { uint uint32 = DBCRecordConverter.GetUInt32(rawData, 6 + index); if (uint32 > 0U) { VehicleSeatEntry vehicleSeatEntry = NPCMgr.GetVehicleSeatEntry(uint32); vehicleEntry.Seats[index] = vehicleSeatEntry; ++num2; num1 = index; } } vehicleEntry.SeatCount = num2; if (num1 < 7) { Array.Resize <VehicleSeatEntry>(ref vehicleEntry.Seats, num1 + 1); } vehicleEntry.PowerType = (VehiclePowerType)DBCRecordConverter.GetInt32(rawData, 37); return(vehicleEntry); }
public override VehicleEntry ConvertTo(byte[] rawData, ref int id) { id = GetInt32(rawData, 0); var vehicle = new VehicleEntry { Id = GetUInt32(rawData, 0), Flags = (VehicleFlags)GetUInt32(rawData, 1), TurnSpeed = GetFloat(rawData, 2), PitchSpeed = GetFloat(rawData, 3), PitchMin = GetFloat(rawData, 4), PitchMax = GetFloat(rawData, 5) }; var lastSeatId = 0; var count = 0; for (var i = 0; i < vehicle.Seats.Length; i++) { var seatId = GetUInt32(rawData, 6 + i); if (seatId <= 0) { continue; } var seatEntry = NPCMgr.GetVehicleSeatEntry(seatId); vehicle.Seats[i] = seatEntry; count++; lastSeatId = i; } vehicle.SeatCount = count; if (lastSeatId < 7) { Array.Resize(ref vehicle.Seats, (int)lastSeatId + 1); } vehicle.PowerType = (VehiclePowerType)GetInt32(rawData, 37); return(vehicle); }