BCGetCharacterInfo.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using System.Runtime.Serialization;
  3. using System.Threading.Tasks;
  4. using BossBase;
  5. using Helper;
  6. using Logger;
  7. namespace BossCommand
  8. {
  9. public class BCGetCharacterInfo: ABossCommand
  10. {
  11. public BCGetCharacterInfo(IMessageChannel iMessageChannel): base(iMessageChannel)
  12. {
  13. }
  14. public int FindTypeIndex { get; set; }
  15. public string FindType { get; set; }
  16. public override async Task<object> DoAsync()
  17. {
  18. this.CommandString = string.Format("get_character_info {0} {1} ", this.FindTypeIndex,
  19. this.FindType);
  20. this.SendMessage(new CMSG_Boss_Gm { Message = this.CommandString });
  21. var smsgBossCommandResponse = await this.RecvMessage<SMSG_Boss_Command_Response>();
  22. if (smsgBossCommandResponse.ErrorCode != ErrorCode.RESPONSE_SUCCESS)
  23. {
  24. Log.Trace("get character info fail, error code: {0}",
  25. smsgBossCommandResponse.ErrorCode);
  26. return null;
  27. }
  28. var characterInfo = MongoHelper.FromJson<CharacterInfo>(smsgBossCommandResponse.Content);
  29. return characterInfo;
  30. }
  31. }
  32. [DataContract]
  33. public class CharacterInfo
  34. {
  35. [DataMember(Order = 0, IsRequired = false)]
  36. public string Account { get; set; }
  37. [DataMember(Order = 1, IsRequired = false)]
  38. public string Name { get; set; }
  39. [DataMember(Order = 2, IsRequired = false)]
  40. public UInt64 Guid { get; set; }
  41. }
  42. }