BaseLoggor.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using UnityEngine;
  3. using Sfs2X.Core;
  4. public abstract class BaseLoggor
  5. {
  6. public GardenSmartFox GardenSmartFox;
  7. public string UserName = "";
  8. public string Password = "";
  9. public Action<BaseEvent> onLogin;
  10. public Action<BaseEvent> onLoginError;
  11. public Action<BaseEvent> onLogout;
  12. public Action<bool, BaseEvent> onLoginResult;
  13. public BaseLoggor Init(GardenSmartFox smartFox)
  14. {
  15. GardenSmartFox = smartFox;
  16. GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGIN, OnLogin);
  17. GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGIN_ERROR, OnLoginError);
  18. GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGOUT, OnLogout);
  19. return this;
  20. }
  21. public abstract void Login();
  22. public abstract void Logout();
  23. public void OnLogin(BaseEvent baseEvent)
  24. {
  25. //PrintKeysAndValuesOfBaseEvent("OnLogin", baseEvent);
  26. Debug.Log("Login succeed");
  27. if (onLogin != null)
  28. onLogin.Invoke(baseEvent);
  29. if (onLoginResult != null)
  30. onLoginResult.Invoke(true, baseEvent);
  31. }
  32. public void OnLoginError(BaseEvent baseEvent)
  33. {
  34. DebugManager.PrintKeysAndValuesOfBaseEvent("OnLoginError", baseEvent);
  35. Debug.Log("Login has error");
  36. if (onLoginError != null)
  37. onLoginError.Invoke(baseEvent);
  38. if (onLoginResult != null)
  39. onLoginResult.Invoke(false, baseEvent);
  40. }
  41. public void OnLogout(BaseEvent baseEvent)
  42. {
  43. Debug.Log("Logout");
  44. if (onLogout != null)
  45. onLogout.Invoke(baseEvent);
  46. }
  47. }