コード例 #1
0
ファイル: Service.cs プロジェクト: Lilith5th/TicTacToe
        } // SendGamesListToAllAsync


        /// <summary>Отправляет сообщение всем юзерам (кроме отправителя)</summary>
        /// <param name="msg">Сообщение</param>
        /// <param name="sender">Отправитель</param>
        public void SendMessageToAll(string msg, string sender)
        {
            UserList.ForEach(user => {
                if (sender != user.UserName) {
                    user.Callback.SendMessageCallback(msg);
                } // if
            });
        } // SendMessageToAll
コード例 #2
0
ファイル: Service.cs プロジェクト: Lilith5th/TicTacToe
        } // DeleteUserFromLobbyList


        /// Служебный метод для AddUserToLobbyList и DeleteUserFromLobbyList
        /// <summary>Перебирает всех пользователей и по Callback-вызову обновляет список "В СЕТИ"</summary>
        /// <param name="userList">Список, который отправляется</param>
        public Task SendListToAll(List<string> userList)
        {
            return Task.Factory.StartNew(() => {
                UserList
                    .ForEach(user => {
                        user.Callback?.SendUserListCallback(userList);
                    });
            });
        } // SendListToAll
コード例 #3
0
ファイル: Service.cs プロジェクト: Lilith5th/TicTacToe
        } // GetCurrentGamesAsync


        /// Служебный метод для AddUserToInGameList и DeleteUserFromInGameList
        /// <summary>Перебирает всех пользователей и по Callback-вызову обновляет список "В ИГРЕ"</summary>
        /// <param name="gameList">Список игр</param>
        public Task SendGamesListToAllAsync(List<string> gameList)
        {
            return Task.Factory.StartNew(() => {
                UserList
                    .ForEach(user => {
                        user.Callback?.SendGameListCallback(gameList);
                    });
            });
        } // SendGamesListToAllAsync
コード例 #4
0
ファイル: Service.cs プロジェクト: Lilith5th/TicTacToe
        } // DeleteGameFromGameList


        /// <summary>
        /// Делает callback-вызов у пользователя, который хочет получить список текущих игр
        /// </summary>
        /// <param name="userName">Имя пользователя</param>
        public async void GetCurrentGamesAsync(string userName)
        {
            await Task.Factory.StartNew(() => {
                UserList
                    .ForEach(user => {
                        if (user.UserName == userName)
                            user.Callback?.SendGameListCallback(GameList);
                    });
            });
        } // GetCurrentGamesAsync
コード例 #5
0
ファイル: TestDataActivity.cs プロジェクト: Avinkav/BrainGear
        protected async override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            CurrentPlatform.Init();

            //List to hold results of following add operations
            List <Task> results = new List <Task>();
            // Adding Users
            var users     = new UserList();
            var tableUser = AzureDataService.Client.GetTable <User>();

            users.ForEach(u =>
            {
                results.Add(
                    tableUser.InsertAsync(u)
                    );
            });

            // Adding videos
            var videos     = new VideoList();
            var tableVideo = AzureDataService.Client.GetTable <Video>();

            videos.ForEach(v =>
            {
                results.Add(
                    tableVideo.InsertAsync(v)
                    );
            });

            // Adding  units
            var units      = new UnitList();
            var tableUnits = AzureDataService.Client.GetTable <Unit>();

            units.ForEach(u =>
            {
                results.Add(
                    tableUnits.InsertAsync(u)
                    );
            });

            // Adding Units for Users. Just going to populate table with data for now. TODO: User object should contain units. Store data properly on backend
            var userUnitList  = new UserUnitList();
            var tableUnitList = AzureDataService.Client.GetTable <UserUnit>();

            userUnitList.ForEach(u =>
            {
                results.Add(
                    tableUnitList.InsertAsync(u)
                    );
            });


            RefreshUI(results);
            //ThreadPool.QueueUserWorkItem(o => DownloadVideo());
        }
コード例 #6
0
ファイル: Service.cs プロジェクト: Lilith5th/TicTacToe
        } // SendInviteToAsync


        /// <summary>
        /// Даёт знать, что пользователь принял приглашение на игру
        /// </summary>
        /// <param name="from">От кого</param>
        /// <param name="to">Кому</param>
        public async void AcceptInviteAsync(string from, string to)
        {
            await Task.Factory.StartNew(() => {
                var players = new User[2];

                UserList.ForEach(user => {
                    if (from == user.UserName) {
                        players[0] = user;
                    } // if
                    if (to == user.UserName) {
                        players[1] = user;
                    } // if
                });
                players[0].Callback.AcceptInviteCallback(from, to);
                players[1].Callback.AcceptInviteCallback(from, to);
            });
        } // AcceptInviteAsync