private void OnUpdateUserStatus(string userId, FriendsController.UserStatus newStatus)
    {
        var model = new FriendEntry.Model();

        FriendEntryBase entry = view.friendsList.GetEntry(userId) ?? view.friendRequestsList.GetEntry(userId);

        if (entry != null)
        {
            model = entry.model;
        }

        model.status = newStatus.presence;
        model.coords = newStatus.position;

        if (newStatus.realm != null)
        {
            model.realm           = $"{newStatus.realm.serverName.ToUpperFirst()} {newStatus.realm.layer.ToUpperFirst()}";
            model.realmServerName = newStatus.realm.serverName;
            model.realmLayerName  = newStatus.realm.layer;
        }
        else
        {
            model.realm           = string.Empty;
            model.realmServerName = string.Empty;
            model.realmLayerName  = string.Empty;
        }

        view.friendsList.UpdateEntry(userId, model);
        view.friendRequestsList.UpdateEntry(userId, model);
    }
Esempio n. 2
0
    void OnUpdateUserStatus(string userId, FriendsController.UserStatus status)
    {
        if (!friendsController.isInitialized)
        {
            return;
        }

        FriendTracker friend;

        if (!friends.TryGetValue(userId, out friend))
        {
            friend = new FriendTracker(userId, friendColors[Random.Range(0, friendColors.Length)]);
            friends.Add(userId, friend);
        }

        friend.SetStatus(status);

        if (!friend.IsOnline())
        {
            friend.RemoveAllListeners();
        }
        else
        {
            ProcessFriendLocation(friend, new Vector2Int((int)status.position.x, (int)status.position.y));
        }
    }
Esempio n. 3
0
    private void FriendsController_OnUpdateUserStatus(string userId, FriendsController.UserStatus userStatus)
    {
        ChatHeadButton updatedChatHead = chatHeads.FirstOrDefault(ch => ch.profile.userId == userId);

        if (updatedChatHead != null)
        {
            updatedChatHead.SetOnlineStatus(userStatus.presence == PresenceStatus.ONLINE);
        }
    }
Esempio n. 4
0
    private void FriendsController_OnUpdateUserStatus(string userId, FriendsController.UserStatus userStatus)
    {
        if (userId != currentUserId)
        {
            return;
        }

        UpdateInfo(userStatus.position, userStatus.realm.serverName, userStatus.realm.layer, userStatus.presence);
    }
        private void SimulateFriendsUpdate()
        {
            var userOnline = new FriendsController.UserStatus()
            {
                position = BASECOORD_TEMPTATION,
                presence = PresenceStatus.ONLINE,
                realm    = new FriendsController.UserStatus.Realm()
                {
                    layer = "layer", serverName = "server"
                },
                userId = "userOnline"
            };

            var userOffline = new FriendsController.UserStatus()
            {
                position = BASECOORD_TEMPTATION,
                presence = PresenceStatus.OFFLINE,
                realm    = new FriendsController.UserStatus.Realm()
                {
                    layer = "layer", serverName = "server"
                },
                userId = "userOffline"
            };

            var userOnlineNoRealm = new FriendsController.UserStatus()
            {
                position = BASECOORD_TEMPTATION,
                presence = PresenceStatus.ONLINE,
                realm    = new FriendsController.UserStatus.Realm()
                {
                    layer = "", serverName = ""
                },
                userId = "userOnlineNoRealm"
            };

            friendsController.RaiseUpdateUserStatus("userOnline", userOnline);
            friendsController.RaiseUpdateUserStatus("userOffline", userOffline);
            friendsController.RaiseUpdateUserStatus("userOnlineNoRealm", userOnlineNoRealm);
        }
 public void AddFriend(FriendsController.UserStatus newFriend)
 {
     friends.Add(newFriend.userId, newFriend);
 }
 public void RaiseUpdateUserStatus(string id, FriendsController.UserStatus userStatus)
 {
     OnUpdateUserStatus?.Invoke(id, userStatus);
 }
Esempio n. 8
0
 public void SetStatus(FriendsController.UserStatus newStatus)
 {
     status = newStatus;
 }