PlayerSocketFatalException.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using Island.StandardLib.Storage.Local;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace Island.StandardLib.Exceptions
  6. {
  7. public class PlayerSocketFatalException : Exception
  8. {
  9. public string PlayerName { get; private set; }
  10. public PlayerSocketFatalExceptionType WhatHappend { get; private set; }
  11. public string ExtraToSay { get; private set; }
  12. public PlayerSocketFatalException(string playerName, PlayerSocketFatalExceptionType whatHappend)
  13. {
  14. PlayerName = playerName;
  15. WhatHappend = whatHappend;
  16. }
  17. public override string Message => $"Player {PlayerName} Disconnected due a fatal error, ErrorCode={WhatHappend}{(ExtraToSay == null ? "" : $", ErrorMessage={ExtraToSay}")}";
  18. public override string ToString() => Message;
  19. }
  20. public enum PlayerSocketFatalExceptionType
  21. {
  22. PlayerCloseConnection,
  23. FatalException,
  24. RecvBufferTooLong,
  25. HashFailException,
  26. InternalDuplicatePlayerThreadStart,
  27. InternalDuplicatePlayerObject
  28. }
  29. }