IPlayer.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using CommonAI.Zone.Instance;
  2. using CommonLang.Protocol;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. namespace CommonAIServer.Node.Interface
  8. {
  9. public interface IPlayer
  10. {
  11. /// <summary>
  12. /// 单位全局唯一标识符
  13. /// </summary>
  14. string PlayerUUID { get; }
  15. /// <summary>
  16. /// 用于显示的名字
  17. /// </summary>
  18. string DisplayName { get; }
  19. /// <summary>
  20. /// 绑定数据
  21. /// </summary>
  22. ZoneNode.PlayerClient BindingPlayer { get; set; }
  23. /// <summary>
  24. /// 向此玩家发送战斗服事件
  25. /// </summary>
  26. /// <param name="msg"></param>
  27. void Send(IMessage msg);
  28. /// <summary>
  29. /// 监听接收消息
  30. /// </summary>
  31. /// <param name="handler"></param>
  32. void Listen(Action<object> handler);
  33. /// <summary>
  34. /// 连接时回调
  35. /// </summary>
  36. /// <param name="binding"></param>
  37. void OnConnected(ZoneNode.PlayerClient binding);
  38. /// <summary>
  39. /// 断线时回调
  40. /// </summary>
  41. void OnDisconnect(ZoneNode.PlayerClient binding);
  42. bool IsAttribute(string key);
  43. void SetAttribute(string key, object value);
  44. object GetAttribute(string key);
  45. }
  46. }