BaseLoggor.cs 1.5 KB

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