public void OnLoginResponse() { if (!FB.IsLoggedIn) { Debug.Log("Login fail"); if (OnLoginFail != null) { OnLoginFail.Invoke(); } } else { Debug.Log("Login success"); if (OnLoginSuccess != null) { OnLoginSuccess.Invoke(); OnLoginSuccess -= OnLoginSuccess; } } }
async void Start() { token = PlayerPrefs.GetString("token"); // Create socket and input the game server URL ws = new WebSocket("wss://api.cosmic.ygstr.com"); ws.OnOpen += () => { Debug.Log("Connected to Cosmic server"); OnConnected?.Invoke(); Login(); }; ws.OnMessage += (bytes) => { string message = System.Text.Encoding.UTF8.GetString(bytes); SocketPackage package = JsonUtility.FromJson <SocketPackage>(message); switch (package.identifier) { case "ping": stopwatch.Stop(); OnPing?.Invoke((int)stopwatch.ElapsedMilliseconds); break; case "cards": LoadCards(package.packet); break; case "new_token": token = package.packet; PlayerPrefs.SetString("token", token); Login(); break; case "user": OnUser(package.packet); break; case "login_fail": OnLoginFail?.Invoke(); loggedIn = false; break; case "game_update": GameUpdate(package.packet); break; } }; ws.OnClose += (e) => { Debug.Log("Connection closed"); loggedIn = false; OnDisconnected?.Invoke(); StartCoroutine(Reconnect()); }; // Connect to the server await ws.Connect(); }
public void FailLogin() => OnLoginFail?.Invoke();