Exemplo n.º 1
0
    static private void CreateInstance()
    {
        GameObject lobbyClient = new GameObject("lobby client");

        lobbyClient.hideFlags = HideFlags.HideAndDontSave;
        DontDestroyOnLoad(lobbyClient);
        _instance = lobbyClient.AddComponent <LobbyClientBase>();
    }
Exemplo n.º 2
0
    void Awake()
    {
        if (instance != null)
        {
            Debug.LogError("One instance of AccountManagerClientBase already exists, only one version should be in a scene.");
            return;
        }
        instance           = this;
        lobby              = LobbyClientBase.instance;
        lobby.OnConnected += () =>
        {
            isConnected = true;
        };

        lobby.OnDisconnected += () =>
        {
            isConnected = false;
        };

        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.LoginResponse, x =>
        {
            var msg = x.ReadMessage <LoginResponseData>();
            if (msg.isSuccessful)
            {
                loggedInAccount = msg.account;
                if (OnLoggedIn != null)
                {
                    OnLoggedIn(msg.account);
                }
            }
            else
            {
                if (OnFailedToLogin != null)
                {
                    OnFailedToLogin();
                }
            }
        });

        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.LogoutResponse, x =>
        {
            var msg = x.ReadMessage <BooleanMessage>();
            if (msg.value)
            {
                loggedInAccount = null;
                if (OnLoggedOut != null)
                {
                    OnLoggedOut();
                }
            }
            else
            {
                if (OnFailedToLogout != null)
                {
                    OnFailedToLogout();
                }
            }
        });
        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.RegisterAccountResponse, x =>
        {
            var msg = x.ReadMessage <BooleanMessage>();
            if (msg.value)
            {
                if (OnAccountRegistered != null)
                {
                    OnAccountRegistered();
                }
            }
            else
            {
                if (OnFailedToRegisterAccount != null)
                {
                    OnFailedToRegisterAccount();
                }
            }
        });

        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.GetFriendslistResponse, x =>
        {
            var resp = x.ReadMessage <GetFriendsListResponseData>();
            if (resp.success)
            {
                if (OnFriendsListReceived != null)
                {
                    OnFriendsListReceived(resp.friends);
                }
            }
            else
            {
                if (OnFailedToGetFriendsList != null)
                {
                    OnFailedToGetFriendsList();
                }
            }
        });
        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.InviteFriendResponse, x =>
        {
            var resp = x.ReadMessage <BooleanMessage>();
            if (resp.value)
            {
                if (OnFriendInvited != null)
                {
                    OnFriendInvited();
                }
            }
            else
            {
                if (OnFailedToInvite != null)
                {
                    OnFailedToInvite();
                }
            }
        });
        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.GetInvitationsResponse, x =>
        {
            var msg = x.ReadMessage <InvitationsCollection>();
            if (msg.success)
            {
                if (OnInvitationsReceived != null)
                {
                    OnInvitationsReceived(msg.invitations);
                }
            }
            else
            {
                if (OnFailedToGetInvitations != null)
                {
                    OnFailedToGetInvitations();
                }
            }
        });
        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.AcceptInvitationResponse, x =>
        {
            var msg = x.ReadMessage <BooleanMessage>();
            if (msg.value)
            {
                if (OnInvitationAccepted != null)
                {
                    OnInvitationAccepted();
                }
            }
            else
            {
                if (OnFailedToAcceptInvitation != null)
                {
                    OnFailedToAcceptInvitation();
                }
            }
        });
        lobby.networkClient.RegisterHandler((short)CustomMessageTypes.DenyInvitationResponse, x =>
        {
            var msg = x.ReadMessage <BooleanMessage>();
            if (msg.value)
            {
                if (OnInvitationDenied != null)
                {
                    OnInvitationDenied();
                }
            }
            else
            {
                if (OnFailedToDeny != null)
                {
                    OnFailedToDeny();
                }
            }
        });
    }