public SetShipSettingsSubPacket(DriveType drive, int shipType, int unknown, string shipName) : base( ShipActionSubPacketType.SetShipSettingsSubPacket, (int)drive) { ShipType = shipType; Unknown = unknown; ShipName = new ArtemisString(shipName); }
public SetShipSettingsSubPacket(byte[] byteArray) { if (_log.IsDebugEnabled) { _log.DebugFormat("Starting {0}", MethodBase.GetCurrentMethod().ToString()); } if (_log.IsInfoEnabled) { _log.InfoFormat("{0}--bytes in: {1}", MethodBase.GetCurrentMethod().ToString(), Utility.BytesToDebugString(byteArray)); } DriveType = (DriveTypes)BitConverter.ToInt32(byteArray, 0); ShipType = BitConverter.ToInt32(byteArray, 4); Unknown = BitConverter.ToInt32(byteArray, 8); ShipName = new ArtemisString(byteArray, 12); if (_log.IsInfoEnabled) { _log.InfoFormat("{0}--Result bytes: {1}", MethodBase.GetCurrentMethod().ToString(), Utility.BytesToDebugString(this.GetBytes())); } if (_log.IsDebugEnabled) { _log.DebugFormat("Ending {0}", MethodBase.GetCurrentMethod().ToString()); } }
public GameTextMessageSubPacket(byte[] byteArray) { if (_log.IsInfoEnabled) { _log.InfoFormat("{0}--bytes in: {1}", MethodBase.GetCurrentMethod().ToString(), Utility.BytesToDebugString(byteArray)); } MessageText = new ArtemisString(byteArray); if (_log.IsInfoEnabled) { _log.InfoFormat("{0}--Result bytes: {1}", MethodBase.GetCurrentMethod().ToString(), Utility.BytesToDebugString(this.GetBytes())); } }
private void OnBitConvert(object sender, RoutedEventArgs e) { BitConverterResult = string.Empty; if (IntConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length == 4) { BitConverterResult = BitConverter.ToInt32(bytes, 0).ToString(); } else { MessageBox.Show("Error: Integer type MUST be 4 bytes long!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } //ConvertToByteArray } else if (ByteConvert) { StringBuilder sb = new StringBuilder(); byte[] bytes = ConvertToByteArray(BitConverterValue); foreach (byte b in bytes) { sb.Append(b.ToString()); sb.Append(", "); } BitConverterResult = sb.ToString(); } else if (ShortConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length == 2) { BitConverterResult = BitConverter.ToInt16(bytes, 0).ToString(); } else { MessageBox.Show("Error: Short type MUST be 2 bytes long!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else if (UIntConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length == 4) { BitConverterResult = BitConverter.ToUInt32(bytes, 0).ToString(); } else { MessageBox.Show("Error: UInt type MUST be 4 bytes long!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else if (FloatConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length == 4) { BitConverterResult = BitConverter.ToSingle(bytes, 0).ToString(); } else { MessageBox.Show("Error: Float type MUST be 4 bytes long!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else if (UShortConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length == 2) { BitConverterResult = BitConverter.ToUInt16(bytes, 0).ToString(); } else { MessageBox.Show("Error: UShort type MUST be 2 bytes long!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else if (StringConvert) { byte[] bytes = ConvertToByteArray(BitConverterValue); if (bytes.Length < 4) { MessageBox.Show("Error: string types must include the length as an int type as the first 4 bytes!!", "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { int by = BitConverter.ToInt32(bytes, 0); if (bytes.Length != by * 2 + 4) { MessageBox.Show(string.Format("Error: String length is defined as {0} characters, but length definition sets it as {1} characters", (bytes.Length - 4) / 2, by), "BitConverter Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { ArtemisString s = new ArtemisString(bytes); BitConverterResult = s.Value; } } } }