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); }
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)); } }
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); } }
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); }
public void SetStatus(FriendsController.UserStatus newStatus) { status = newStatus; }