コード例 #1
0
        public async Task SearchGames(bool replace)
        {
            Messenger.Publish(new ProgressBarActivator(this, true));
            if (replace)
            {
                FetchedPages = 0;
                GamesList    = new MvxObservableCollection <GameWithImageRowModel>();
            }

            var listRowModels = await _gameService.GetGamesByCategory(new GameCategoryRequest
            {
                Skip         = FetchedPages *StaticAppSettings.PullDataPageSize,
                Take         = StaticAppSettings.PullDataPageSize,
                GameCategory = GameCategoryModel.GameCategory
            });

            if (listRowModels != null)
            {
                foreach (var rowModel in listRowModels)
                {
                    GamesList.Add(new GameWithImageRowModel(rowModel));
                }

                FetchedPages++;
            }
            Messenger.Publish(new ProgressBarActivator(this, false));
        }
コード例 #2
0
        private static string GetGameInfo(GamesList games, int gameId)
        {
            // Check game start time
            var game = games.Games.FirstOrDefault(x => x.Number == gameId);

            if (game == null)
            {
                return($"Game with number {gameId} not found!");
            }

            if (game.IsPlayed)
            {
                return($"Game #{game.Number} \"{game.WhiteName}\" vs \"{game.BlackName}\" finished with result \"{game.Result}\" for {game.Duration:hh\\:mm\\:ss} on {game.Started + game.Duration:R}");
            }

            if (game.Started.HasValue)
            {
                return($"Game #{game.Number} \"{game.WhiteName}\" vs \"{game.BlackName}\" started at {game.Started:R}");
            }

            var remainingTime      = (gameId - games.CountPlayed - 1) * (games.AverageGameTime + new TimeSpan(0, 0, 1, 0)); // +1 minute between games
            var estimatedStartTime = games.LastStarted + remainingTime;
            var timeRemaining      = estimatedStartTime - DateTime.UtcNow;

            return($"Game #{game.Number} \"{game.WhiteName}\" vs \"{game.BlackName}\" is estimated to start on {estimatedStartTime:R} (After {(int)timeRemaining.TotalHours}h {timeRemaining.Minutes}')");
        }
コード例 #3
0
    public IEnumerator GetLastGames()
    {
        UnityWebRequest httpClient = new UnityWebRequest(player.HttpServerAddress + "/api/Game/GameInfo", "GET");

        httpClient.SetRequestHeader("Authorization", "bearer " + player.Token);
        httpClient.SetRequestHeader("Accept", "application/json");
        httpClient.downloadHandler    = new DownloadHandlerBuffer();
        httpClient.certificateHandler = new ByPassCertificate();
        yield return(httpClient.SendWebRequest());

        if (httpClient.isNetworkError || httpClient.isHttpError)
        {
            throw new Exception("GetLastGames: " + httpClient.error);
        }
        else
        {
            string    stringToRecieve = httpClient.downloadHandler.text;
            string    jsonList        = "{\"games\":" + stringToRecieve + "}";
            GamesList gameJ           = JsonUtility.FromJson <GamesList>(jsonList);
            foreach (GameSerializable i in gameJ.games)
            {
                infoGames.text += "(" + i.Id.Substring(0, 5) + ") " + i.Nickname + ": " + i.Score + " points." + "\n" + "Date Started:(" + DateTime.Parse(i.DateStarted) + ")" + "\n" + "Date Finished:(" + DateTime.Parse(i.DateFinished) + ")" + "\n";
            }
        }

        httpClient.Dispose();
    }
コード例 #4
0
        private static string GetReverseGameInfo(GamesList games)
        {
            var currentGame = games.Games.OrderBy(x => x.Number).FirstOrDefault(x => !x.IsPlayed);

            if (currentGame == null)
            {
                return("No active game?");
            }

            var sameGamesCount = games.Games.Count(
                x => ((x.WhiteName == currentGame.WhiteName && x.BlackName == currentGame.BlackName) ||
                      (x.WhiteName == currentGame.BlackName && x.BlackName == currentGame.WhiteName)) && x.IsPlayed);

            if (sameGamesCount % 2 == 0)
            {
                var nextGame = games.Games.OrderBy(x => x.Number).Where(
                    x => (x.WhiteName == currentGame.WhiteName && x.BlackName == currentGame.BlackName) ||
                    (x.WhiteName == currentGame.BlackName && x.BlackName == currentGame.WhiteName))
                               .FirstOrDefault(x => !x.Started.HasValue);
                return(nextGame == null ? "Next reverse game not found." : GetGameInfo(games, nextGame.Number));
            }
            else
            {
                var previousGame = games.Games.OrderBy(x => x.Number).Where(
                    x => (x.WhiteName == currentGame.WhiteName && x.BlackName == currentGame.BlackName) ||
                    (x.WhiteName == currentGame.BlackName && x.BlackName == currentGame.WhiteName))
                                   .LastOrDefault(x => x.IsPlayed);
                return(previousGame == null ? "Previous reverse game not found." : GetGameInfo(games, previousGame.Number));
            }
        }
コード例 #5
0
        public async Task GetGames()
        {
            try
            {
                if (IsBusy)
                {
                    return;
                }
                IsBusy = true;
                var gamesService = new GamesService();

                var games = await gamesService.GetGamesAsync(Constants.GetGamesUri(_selectedDay));

                GamesList.Clear();
                foreach (var game in games)
                {
                    GamesList.Add(new GameViewModel()
                    {
                        GameModel = game
                    });
                }
                int sI = GamesList.Count / 2;
                SelectedGame = GamesList[sI];
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error : " + ex.Message);
            }
            finally
            {
                IsBusy = false;
            }
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: MegaRoks/SteamDesctopApp
        private void DataGridView2(GamesList games)
        {
            DataTable t = new DataTable();

            t.Columns.Add(new DataColumn("Logo", typeof(Bitmap)));
            t.Columns.Add("Название");
            t.Columns.Add("За неделю");
            t.Columns.Add("Всего");

            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            dataGridView1.AutoResizeColumns();

            dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
            dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders);

            try
            {
                for (int i = 0; games.Games.Count > i; i++)
                {
                    string Url              = "http://media.steampowered.com/steamcommunity/public/images/apps/" + games.Games[i].Appid + "/" + games.Games[i].Img_logo_url + ".jpg".ToString();
                    Bitmap bmp              = RequestJsonImage(Url);
                    int    Playtime_2weeks  = Convert.ToInt16(Math.Ceiling(TimeSpan.FromSeconds(games.Games[i].Playtime_2weeks).TotalMinutes));
                    int    Playtime_forever = Convert.ToInt16(Math.Ceiling(TimeSpan.FromSeconds(games.Games[i].Playtime_forever).TotalMinutes));
                    t.Rows.Add(new object[] { bmp, games.Games[i].Name, Playtime_2weeks, Playtime_forever });
                    dataGridView1.DataSource = t;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Список игр пуст");
                dataGridView1.DataSource = null;
                dataGridView1.Rows.Clear();
            }
        }
コード例 #7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         GamesList.DataSource = DataAccessProvider.Current.GetActiveGames();
         GamesList.DataBind();
     }
 }
コード例 #8
0
    public static async Task <GamesList> Create(string databaseName)
    {
        GamesList instance = new GamesList(databaseName);

        instance.Games = await DataService.GetGames();

        return instance
    }
コード例 #9
0
ファイル: Program.cs プロジェクト: DinaraZZ/DZ1018
        static void Main(string[] args)
        {
            TablesDataCreatorAndFiller.CreateDataAndFillTables();
            GamesList.ShowAllGames();

            Console.WriteLine("Done");
            Console.ReadKey();
        }
コード例 #10
0
        public MenuWindow()
        {
            InitializeComponent();

            GamesList.SelectedItem = GamesList.Items[0];
            GamesList.Focus();

            //   new testwindow().Show();
        }
コード例 #11
0
ファイル: Form1.cs プロジェクト: MegaRoks/SteamDesctopApp
        public void ResponseJson(string json)
        {
            var obj     = JObject.Parse(json);
            var IdSteam = Convert.ToString(obj["steamid"]);
            var Avatar  = Convert.ToString(obj["avatarfull"]);
            var Communityvisibilitystate = Convert.ToString(obj["communityvisibilitystate"]);
            var Personaname       = Convert.ToString(obj["personaname"]);
            var Personastate      = Convert.ToString(obj["ersonastate"]);
            var Realname          = Convert.ToString(obj["realname"]);
            var Primaryclanid     = Convert.ToString(obj["primaryclanid"]);
            var Timecreated       = Convert.ToString(obj["timecreated"]);
            var Personastateflags = Convert.ToString(obj["personastateflags"]);
            var Gameextrainfo     = Convert.ToString(obj["gameextrainfo"]);
            var Lastlogoff        = Convert.ToString(obj["lastlogoff"]);
            var CommunityBanned   = Convert.ToString(obj["CommunityBanned"]);
            var VACBanned         = Convert.ToString(obj["VACBanned"]);
            var NumberOfVACBans   = Convert.ToString(obj["NumberOfVACBans"]);
            var DaysSinceLastBan  = Convert.ToString(obj["DaysSinceLastBan"]);
            var NumberOfGameBans  = Convert.ToString(obj["NumberOfGameBans"]);
            var EconomyBan        = Convert.ToString(obj["EconomyBan"]);
            var Id          = Convert.ToString(obj["id"]);
            var Total_count = Convert.ToInt32(obj["total_count"]);
            var friendslist = Convert.ToInt32(obj["friendslist"]);

            DateTime last_log_off = (new DateTime(1970, 1, 1)).AddSeconds(Convert.ToDouble(Lastlogoff));

            if (Timecreated != "")
            {
                DateTime time_created = (new DateTime(1970, 1, 1)).AddSeconds(Convert.ToDouble(Timecreated));
                label14.Text = Convert.ToString(time_created);
            }

            label1.Text  = Convert.ToString(IdSteam);
            label6.Text  = Convert.ToString(Communityvisibilitystate);
            label7.Text  = Convert.ToString(Personaname);
            label13.Text = Convert.ToString(Realname);
            label9.Text  = Convert.ToString(Personastate);
            label18.Text = Convert.ToString(Gameextrainfo);
            label8.Text  = Convert.ToString(last_log_off);
            label27.Text = Convert.ToString(CommunityBanned);
            label22.Text = Convert.ToString(VACBanned);
            label26.Text = Convert.ToString(NumberOfVACBans);
            label20.Text = Convert.ToString(DaysSinceLastBan);
            label21.Text = Convert.ToString(NumberOfGameBans);
            label16.Text = Convert.ToString(EconomyBan);

            pictureBox1.ImageLocation = Convert.ToString(Avatar);
            pictureBox1.SizeMode      = PictureBoxSizeMode.StretchImage;
            GamesList game = JsonConvert.DeserializeObject <GamesList>(json);

            DataGridView2(game);

            FriendsList friends = JsonConvert.DeserializeObject <FriendsList>(json);

            DataGridView(friends);
        }
コード例 #12
0
        public override async Task Initialize()
        {
            Messenger.Publish(new ProgressBarActivator(this, true));
            var gamesForUser = await _gameService.GetGamesForUser();

            foreach (var game in gamesForUser)
            {
                GamesList.Add(new GameWithImageRowModel(game));
            }
            Messenger.Publish(new ProgressBarActivator(this, false));
        }
コード例 #13
0
        private static string GetRemainingDivisionTime(GamesList games)
        {
            var gamesCount       = games.Count;
            var remainingTime    = (gamesCount - games.CountPlayed) * (games.AverageGameTime + new TimeSpan(0, 0, 1, 0)); // +1 minute between games
            var estimatedEndTime = games.LastStarted + remainingTime;
            var endingS          = gamesCount - games.CountPlayed != 1 ? 's' : '\0';
            var longestGame      = games.Games.Where(x => x.IsPlayed).OrderByDescending(x => x.Duration).FirstOrDefault()?.Duration;
            var shortestGame     = games.Games.Where(x => x.IsPlayed).OrderBy(x => x.Duration).FirstOrDefault()?.Duration;

            return($"{gamesCount - games.CountPlayed}/{gamesCount} game{endingS} left • Average duration: {games.AverageGameTime:hh\\:mm\\:ss} • Estimated division end: {estimatedEndTime:R} • Shortest game: {shortestGame:hh\\:mm\\:ss} • Longest game: {longestGame:hh\\:mm\\:ss}");
        }
コード例 #14
0
    public static void Main()
    {
        // Loop until user doesn't want to play anymore
        while (true)
        {
            GamesList.selectGame();
            if (!newGame())
            {
                break;
            }
        }

        Console.WriteLine("Thanks for playing, Good bye!");
    }
コード例 #15
0
ファイル: Main.cs プロジェクト: perezdev/Decaf-Game-Launcher
        private void PopulateGames()
        {
            Games = new List <Game>();

            flpGames.InvokeThreadSafeMethod(() => flpGames.Controls.Clear());
            flpGames.SetThreadSafeProperty(() => flpGames.Enabled, false);

            GamesList gamesList = new GamesList();

            gamesList.OnMessageUpdate      += GamesList_OnMessageUpdate;
            gamesList.OnGameAdded          += GamesList_OnGameAdded;
            gamesList.OnGameAddingComplete += GamesList_OnGameAddingComplete;

            Games = gamesList.GetGames(Settings.GameDirectories);
        }
コード例 #16
0
        private void loadAllGamesDDL()
        {
            DTO_GamePlay[] games     = WebSiteManager.GetAllGames();
            List <string>  gameNames = new List <string>();

            gameNames.Add("Select Game");
            Session["AllGames"] = games;

            foreach (DTO_GamePlay gp in games)
            {
                gameNames.Add(gp.gameName);
            }

            GamesList.DataSource = gameNames;
            GamesList.DataBind();
        }
コード例 #17
0
 private IEnumerable <DeckStatsDataRecord> GetBreakDownByOpponentClass(
     Func <DataModel.Game, object> groupByDeck,
     Func <DataModel.Game, SerializableVersion> groupByVersion,
     Func <DataModel.Game, string> groupByOpponnetClass)
 {
     return(GamesList
            .GroupBy(g => new { D = groupByDeck(g), VS = groupByVersion(g), OC = groupByOpponnetClass(g) })
            .Select(d => new DeckStatsDataRecord
     {
         Deck = d.Key.D,
         DeckVersion = d.Key.VS,
         Opp = d.Key.OC,
         Win = Math.Round((double)d.Count() / GamesList.Count() * 100).ToString(),
         WinPerc = (double)d.Count() / GamesList.Count() * 100,
     }));
 }
コード例 #18
0
 private IEnumerable <DeckStatsDataRecord> GetFirstSecondData(
     Func <DataModel.Game, SerializableVersion> groupByVersion,
     Func <DataModel.Game, string> groupByOpponnetClass)
 {
     return(GamesList
            .GroupBy(g => new { D = GetPropertyValue(g, GroupBy), VS = groupByVersion(g), OC = groupByOpponnetClass(g) })
            .Select(d => new DeckStatsDataRecord
     {
         Deck = d.Key.D,
         DeckVersion = d.Key.VS,
         Opp = d.Key.OC,
         Win = d.Where(d2 => d2.OrderOfPlay == OrderOfPlay.First).Count() +
               "-" + d.Where(d2 => d2.OrderOfPlay == OrderOfPlay.Second).Count(),
         WinPerc = (double)d.Where(g => g.OrderOfPlay == OrderOfPlay.First).Count() / d.Count() * 100
     }));
 }
コード例 #19
0
 private IEnumerable <DeckStatsDataRecord> GetBreakDownByDeck(
     Func <DataModel.Game, object> groupByDeck,
     Func <DataModel.Game, SerializableVersion> groupByVersion,
     Func <DataModel.Game, string> groupByOpponnetClass)
 {
     return(GamesList
            .GroupBy(g => new { D = groupByDeck(g), VS = groupByVersion(g), OC = groupByOpponnetClass(g) })
            .Select(d => new DeckStatsDataRecord
     {
         Deck = d.Key.D,
         DeckVersion = d.Key.VS,
         Opp = d.Key.OC,
         Win = d.Where(d2 => d2.Outcome == GameOutcome.Victory).Count() +
               "-" + d.Where(d2 => d2.Outcome == GameOutcome.Defeat).Count(),
         WinPerc = (double)d.Where(g => g.Outcome == GameOutcome.Victory).Count() / d.Count() * 100,
     }));
 }
コード例 #20
0
    private void PrintSearchResult()
    {
        var serachJsonResult = response;

        Debug.Log("Json is: " + serachJsonResult);

        if (serachJsonResult == null || serachJsonResult == "")
        {
            Debug.Log("Игра не найдена");
        }
        else
        {
            gamesList = JsonUtility.FromJson <GamesList>(serachJsonResult);
            Debug.Log("Игр найдено: " + gamesList.Games.Count);
            pasteData.PasteDataOnGameBoxes(isMinData);
        }
    }
コード例 #21
0
ファイル: ServerWorker.cs プロジェクト: mike-live/RWGame
        private async Task <List <Game> > GetGamesList()
        {
            try
            {
                GamesList currentResponse = await PostData <GamesList>(MyGamesCommand);

                if (currentResponse != null && currentResponse.Games != null && currentResponse.Games.Count > 0)
                {
                    return(currentResponse.Games);
                }
                else
                {
                    return(null);
                }
            }
            catch (System.Net.WebException)
            {
                return(null);
            }
        }
コード例 #22
0
    public void PasteDataOnGameBoxes(bool isCollection)
    {
        /* Переменные */
        gamesList = searchController.gamesList;
        int length = gamesList.Games.Count;

        isCollectionSearch = isCollection;
        child = gameBoxPrefab;
        grid  = isCollection == true ? collectionSearchGrid : mainSearchgrid;

        if (grid.transform.childCount > 0)
        {
            grid.transform.DestroyChildren();
        }

        for (int i = 0; i < length; i++)
        {
            grid.transform.AddChild(child);
            StartCoroutine(PasteInGameBox(i));
        }
    }
コード例 #23
0
        private void AddGame()
        {
            var game = new GameModel()
            {
                GameId = this.GameId
            };

            game = _gameData.GetGame(game);

            if (game != null)
            {
                foreach (var item in GamesList)
                {
                    if (item.GameId == game.GameId)
                    {
                        return;
                    }
                }
                GamesList.Add(game);
                _cache.CachedUser.AvailableGames.Add(game);
            }
        }
コード例 #24
0
        private async void ReloadGamesList(object sender, RoutedEventArgs e)
        {
            ThcrapDll.log_print("Reloading games list from " + GamesList.BaseURL + " ...\n");
            List <Game> gamesList = null;

            try
            {
                gamesList = await GamesList.Reload();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                throw;
            }
            if (gamesList == null)
            {
                return;
            }
            this.gamesList = gamesList;
            this.uiGamesList.ItemsSource = gamesList;
            ThcrapDll.log_print("Games list reloaded and saved to disk!\n");
        }
コード例 #25
0
        private void TryJoinGame()
        {
            if (GamesList == null || GamesList.Count == 0)
            {
                State = AgentState.SearchingForGame;
                Thread.Sleep(Settings.RetryJoinGameInterval);
                //nie ustawiamy akcji, strategia sama dojdzie do tego co ma zrobić
            }
            else
            {
                var game = GamesList.Where(q => q.GameName == this.GameName).FirstOrDefault();
                if (game == null)
                {
                    game = GamesList[0];
                }
                GamesList.Remove(game);


                BeginSend(new JoinGameMessage(game.GameName, PrefferedColor, PrefferedRole).Serialize());
                ActionToComplete = ActionType.Joining;
            }
        }
コード例 #26
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // Initialize logging
            this.logger = new Logger(this.Dispatcher, this.uiLogWindow);

            gamesList = GamesList.Load();
            this.uiGamesList.ItemsSource = gamesList;

            selectedPatchesList           = new ObservableCollection <RepoPatch>();
            uiSelectedPatches.ItemsSource = selectedPatchesList;

            Task.Run(() =>
            {
                var repoList = Repo.Discovery("https://srv.thpatch.net/");
                if (repoList == null)
                {
                    return;
                }
                this.repoList = repoList;
                this.Dispatcher.Invoke(() => this.uiRepos.ItemsSource = repoList);
                ThcrapDll.log_print("Repo discovery finished\n");
            });
        }
コード例 #27
0
        private static string GetLastGameInfo(GamesList games)
        {
            var lastGame = games.Games.OrderBy(x => x.Number).LastOrDefault(x => x.IsPlayed);

            return(lastGame == null ? "The division has just started." : GetGameInfo(games, lastGame.Number));
        }
コード例 #28
0
        public CurrentGamesViewModel()
        {
            _instance = this;

            crashed = false;
            client = new ConquerorClient.GamesList();
            client.OnGetGamesComplete += GamesCompleted;
            client.OnAPIUnavailable += APIUnavailable;
            client.OnGetGamesError += GamesError;
            client.FindPlayersCurrentGames(CurrentPlayerViewModel.Instance.Username);
        }
コード例 #29
0
        private static string GetNextGameInfo(GamesList games)
        {
            var nextGame = games.Games.OrderBy(x => x.Number).FirstOrDefault(x => !x.Started.HasValue);

            return(nextGame == null ? "The next division will start soon." : GetGameInfo(games, nextGame.Number));
        }
コード例 #30
0
        }// ReadList()

        private void DeleteFromList(GamesViewModel game)
        {
            GamesList.Remove(game);
            SelectedGame = null;
        }//DeleteFromList()
コード例 #31
0
ファイル: GameShop.cs プロジェクト: fedosovmu/Business_logic
 public void AddGame(Game game)
 {
     GamesList.Add(game);
 }