コード例 #1
0
 public SetShipSettingsSubPacket(DriveType drive, int shipType, int unknown, string shipName) : base( ShipActionSubPacketType.SetShipSettingsSubPacket, (int)drive)
 {
    
     ShipType = shipType;
     Unknown = unknown;
     ShipName = new ArtemisString(shipName);
 }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
 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()));
     }
 }
コード例 #4
0
 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;
             }
         }
     }
 }