using System; using UnityEngine; using Sfs2X.Core; public abstract class BaseLoggor { public GardenSmartFox GardenSmartFox; public string UserName = ""; public string Password = ""; public Action onLogin; public Action onLoginError; public Action onLogout; public Action onLoginResult; public BaseLoggor Init(GardenSmartFox smartFox) { GardenSmartFox = smartFox; GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGIN, OnLogin); GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGIN_ERROR, OnLoginError); GardenSmartFox.SmartFox.AddEventListener(SFSEvent.LOGOUT, OnLogout); return this; } public abstract void Login(); public abstract void Logout(); public void OnLogin(BaseEvent baseEvent) { //PrintKeysAndValuesOfBaseEvent("OnLogin", baseEvent); Debug.Log("Login succeed"); if (onLogin != null) onLogin.Invoke(baseEvent); if (onLoginResult != null) onLoginResult.Invoke(true, baseEvent); } public void OnLoginError(BaseEvent baseEvent) { DebugManager.PrintKeysAndValuesOfBaseEvent("OnLoginError", baseEvent); Debug.Log("Login has error"); if (onLoginError != null) onLoginError.Invoke(baseEvent); if (onLoginResult != null) onLoginResult.Invoke(false, baseEvent); } public void OnLogout(BaseEvent baseEvent) { Debug.Log("Logout"); if (onLogout != null) onLogout.Invoke(baseEvent); } }