Esempio n. 1
0
        public void Setup()
        {
            if (API is DummyAPIAccess daa)
            {
                daa.HandleRequest = dummyAPIHandleRequest;
            }

            friend = new APIUser {
                Id = 0, Username = "******"
            };
            publicChannel = new Channel {
                Id = 1, Name = "osu"
            };
            privateMessageChannel = new Channel(friend)
            {
                Id = 2, Name = friend.Username, Type = ChannelType.PM
            };

            Schedule(() =>
            {
                Child = testContainer = new TestContainer(new[] { publicChannel, privateMessageChannel })
                {
                    RelativeSizeAxes = Axes.Both,
                };

                testContainer.ChatOverlay.Show();
            });
        }
Esempio n. 2
0
        protected override int GetCount(APIUser user)
        {
            switch (type)
            {
            case BeatmapSetType.Favourite:
                return(user.FavouriteBeatmapsetCount);

            case BeatmapSetType.Graveyard:
                return(user.GraveyardBeatmapsetCount);

            case BeatmapSetType.Loved:
                return(user.LovedBeatmapsetCount);

            case BeatmapSetType.Ranked:
                return(user.RankedBeatmapsetCount);

            case BeatmapSetType.Pending:
                return(user.PendingBeatmapsetCount);

            case BeatmapSetType.Guest:
                return(user.GuestBeatmapsetCount);

            default:
                return(0);
            }
        }
Esempio n. 3
0
        public void RemoveUser(APIUser user)
        {
            Debug.Assert(Room != null);
            ((IMultiplayerClient)this).UserLeft(new MultiplayerRoomUser(user.Id));

            Schedule(() =>
            {
                if (Room.Users.Any())
                {
                    TransferHost(Room.Users.First().UserID);
                }
            });
        }
Esempio n. 4
0
        public MultiplayerRoomUser AddUser(APIUser user, bool markAsPlaying = false)
        {
            var roomUser = new MultiplayerRoomUser(user.Id)
            {
                User = user
            };

            addUser(roomUser);

            if (markAsPlaying)
            {
                PlayingUserIds.Add(user.Id);
            }

            return(roomUser);
        }
Esempio n. 5
0
        protected override int GetCount(APIUser user)
        {
            switch (type)
            {
            case ScoreType.Best:
                return(user.ScoresBestCount);

            case ScoreType.Firsts:
                return(user.ScoresFirstCount);

            case ScoreType.Recent:
                return(user.ScoresRecentCount);

            default:
                return(0);
            }
        }
Esempio n. 6
0
        public void PopulateUser(APIUser user, Action success = null, Action failure = null, bool immediate = false)
        {
            var req = new GetUserRequest(user.Id, Ruleset.Value);

            if (immediate)
            {
                API.Perform(req);
                populate();
            }
            else
            {
                req.Success += res => { populate(); };
                req.Failure += _ =>
                {
                    user.Id = 1;
                    failure?.Invoke();
                };

                API.Queue(req);
            }

            void populate()
            {
                var res = req.Response;

                if (res == null)
                {
                    return;
                }

                user.Id = res.Id;

                user.Username   = res.Username;
                user.Statistics = res.Statistics;
                user.Country    = res.Country;
                user.Cover      = res.Cover;

                success?.Invoke();
            }
        }
Esempio n. 7
0
 public SoloSpectator([NotNull] APIUser targetUser)
     : base(targetUser.Id)
 {
     this.targetUser = targetUser;
 }
 protected override int GetCount(APIUser user) => user.BeatmapPlayCountsCount;
Esempio n. 9
0
 private Message createMessage(APIUser sender, Channel channel, string content) => new Message(messageIdCounter++)
 {
     Content   = content,
     Sender    = sender,
     ChannelId = channel.Id
 };
Esempio n. 10
0
 private void receiveMessage(APIUser sender, Channel channel, string content) => channel.AddNewMessages(createMessage(sender, channel, content));