示例#1
0
    // Start is called before the first frame update
    void Start()
    {
        returnButton.gameObject.SetActive(true);
        game       = new GamesPlayed();
        helper     = (HelperScript)FindObjectOfType(typeof(HelperScript));
        httpServer = helper.GetHttpServer();
        player     = helper.GetPlayer();
        StartCoroutine(LoadImage(player.BlobUri, avatar));
        game.playerId     = player.Id;
        nicknameText.text = player.NickName;
        switch (player.TotalScore)
        {
        case int n when(n < 50):
            StartCoroutine(LoadImage(medals[0], lvl));

            break;

        case int n when(n > 49 && n < 500):
            StartCoroutine(LoadImage(medals[1], lvl));

            break;

        case int n when(n > 499):
            StartCoroutine(LoadImage(medals[2], lvl));

            break;
        }
    }
示例#2
0
        private GamesPlayed ConvertLineToGamesPlayed(string line)
        {
            try
            {
                var splitLine   = line.Split(',');
                var fields      = PlayerDbInitialiser.GetHeaders().Fields;
                var gamesPlayed = new GamesPlayed();

                foreach (Field f in fields)
                {
                    if (f.Name == "PLAYER_ID")
                    {
                        gamesPlayed.PlayerId = int.Parse(splitLine[f.Index]);
                        continue;
                    }
                    if (f.Name == "GP")
                    {
                        gamesPlayed.GP = double.Parse(splitLine[f.Index]);
                        continue;
                    }
                }

                return(gamesPlayed);
            }
            catch (Exception)
            {
                Console.WriteLine(line.ToString());
                throw;
            }
        }
示例#3
0
    private IEnumerator InsertGame(GamesPlayed game)
    {
        UnityWebRequest httpClient = new UnityWebRequest(httpServer + "/api/Games", "POST");

        string jsonData = JsonUtility.ToJson(game);

        byte[] dataToSend = Encoding.UTF8.GetBytes(jsonData);
        httpClient.uploadHandler = new UploadHandlerRaw(dataToSend);

        httpClient.SetRequestHeader("Content-Type", "application/json");

        httpClient.certificateHandler = new ByPassCertificate();
        yield return(httpClient.SendWebRequest());  // Blocking call

        if (httpClient.isNetworkError || httpClient.isHttpError)
        {
            //throw new Exception("OnRegisterButtonClick: Network Error");
            Debug.Log(httpClient.isNetworkError);
            Debug.Log(httpClient.isHttpError);
            Debug.Log(httpClient.error);
        }

        Debug.Log(httpClient.responseCode);

        httpClient.Dispose();
    }
示例#4
0
 public double WinningPercentage(string teamName)
 {
     return(GamesPlayed.Where(t =>
                              (t.AwayTeam == teamName && t.AwayScore > t.HomeScore)
                              ||
                              (t.HomeTeam == teamName && t.HomeScore > t.AwayScore))
            .Count() * 1.0
            /
            GamesPlayed.Where(t => t.AwayTeam == teamName || t.HomeTeam == teamName)
            .Count() * 1.0);
 }
示例#5
0
        public ScoringView()
        {
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);

            GamesPlayed.BindingContext = PlayerScoreHistory.Instance();
            GamesPlayed.SetBinding(Label.TextProperty, new Binding("RoundsPlayed", BindingMode.OneWay, new StringToIntConverter()));

            WordsSolved.BindingContext = PlayerScoreHistory.Instance();
            WordsSolved.SetBinding(Label.TextProperty, new Binding("WordsSolved", BindingMode.OneWay, new StringToIntConverter()));

            TotalScore.BindingContext = PlayerScoreHistory.Instance();
            TotalScore.SetBinding(Label.TextProperty, new Binding("TotalScore", BindingMode.OneWay, new StringToIntConverter()));
        }
        public override int GetHashCode()
        {
            unchecked
            {
                // Choose large primes to avoid hashing collisions
                const int hashingBase       = (int)2166136261;
                const int hashingMultiplier = 16777619;

                var hash = hashingBase;
                hash = (hash * hashingMultiplier) ^ (Assists != 0 ? Assists.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^ (Goals != 0 ? Goals.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^ (GamesPlayed != 0 ? GamesPlayed.GetHashCode() : 0);
                return(hash);
            }
        }
示例#7
0
 public override string ToString()
 {
     // shows on the ad-hoc "add player to team" drop down on the Round screen
     // also used for logging and ease of debugging
     return(String.Format("{0} {4} Played:{6} Points/Adj:{5}/{1} HCap:{7} Win:{2}% XP:{3} R:{9}"
                          , Name.PadRight(20)
                          , AdjustedScore.ToString("0.00").PadLeft(5)
                          , WinPercent.ToString("0").PadLeft(3)
                          , SkillLevel.Value.ToString().PadLeft(3)
                          , Gender.ToString().PadRight(7)
                          , GameScore.ToString().PadLeft(2)
                          , GamesPlayed.ToString().PadLeft(2)
                          , Handicap.ToString("0.00").PadLeft(5)
                          , HandicapPlusAdjusted.ToString("0.00").PadLeft(6)
                          , (RandomForSort / 100000000M).ToString("0.0").PadLeft(5)
                          ));
 }
        protected void SelectWeek_SelectionChanged(object sender, EventArgs e)
        {
            DateSelectedFromCalendar.Text = SelectWeek.SelectedDates[0].ToShortDateString() + " to " + SelectWeek.SelectedDates[SelectWeek.SelectedDates.Count - 1].ToShortDateString();


            // connect to the EF DB
            using (DefaultConnection db = new DefaultConnection())
            {
                DateTime selectedDate = SelectWeek.SelectedDates[0];
                // populate a gamesPlayed object instance with the datePlayed from date selected in Calendar
                GamesPlayed gamesPlayed = (from gPlayed in db.GamesPlayeds
                                           where gPlayed.DatePlayed == selectedDate
                                           select gPlayed).FirstOrDefault();
                if (gamesPlayed != null)
                {
                    //fetching data into controls
                    GameNameTextBox1.Text           = (from games in db.Games where games.GamesID == gamesPlayed.Game select games.GameName).SingleOrDefault();
                    GameDescriptionTextBox1.Text    = (from game in db.Games where game.GamesID == gamesPlayed.Game select game.GameDescription).SingleOrDefault();
                    TeamATextBox1.Text              = (from team in db.Teams where team.TeamsID == gamesPlayed.TeamA select team.TeamName).SingleOrDefault();
                    TeamBTextBox1.Text              = (from team in db.Teams where team.TeamsID == gamesPlayed.TeamB select team.TeamName).SingleOrDefault();
                    TotalPointsTextBox1.Text        = gamesPlayed.TotalPointsScored.ToString();
                    TotalPointsAllowedTextBox1.Text = gamesPlayed.TotalPointsAllowed.ToString();
                    NoOfSpectatorsTextBox1.Text     = gamesPlayed.NumberOfSpectators.ToString();
                    WinningTeamTextBox1.Text        = (from team in db.Teams where team.TeamsID == gamesPlayed.WinningTeam select team.TeamName).SingleOrDefault();
                    TeamAScoresTextBox1.Text        = gamesPlayed.TeamA_Scores.ToString();
                    TeamBScoresTextBox1.Text        = gamesPlayed.TeamB_Scores.ToString();
                    TotalPointsAllowedTextBox1.Text = gamesPlayed.TotalPointsAllowed.ToString();
                }
                else
                {
                    //Clear form
                    GameNameTextBox1.Text           = "";
                    GameDescriptionTextBox1.Text    = "";
                    TeamATextBox1.Text              = "";
                    TeamBTextBox1.Text              = "";
                    TotalPointsTextBox1.Text        = "";
                    TotalPointsAllowedTextBox1.Text = "";
                    NoOfSpectatorsTextBox1.Text     = "";
                    WinningTeamTextBox1.Text        = "";
                    TeamAScoresTextBox1.Text        = "";
                    TeamBScoresTextBox1.Text        = "";
                    TotalPointsAllowedTextBox1.Text = "";
                }
            }
        }
        public async Task <GamesPlayed> GetGamesPlayedByUser(string steamId, bool isProcessed)
        {
            try
            {
                string processedSteamId;

                if (!isProcessed)
                {
                    DebugLog($"original steamId: {steamId}");

                    processedSteamId = await ProcessSteamId(steamId);

                    DebugLog($"processed Steam Id: {processedSteamId}");

                    dynamic profileInfo = await GetProfileInfo(processedSteamId);

                    if (profileInfo == null)
                    {
                        return(null);
                    }

                    if (profileInfo["communityvisibilitystate"] != 3)
                    {
                        return(null);
                    }
                }
                else
                {
                    processedSteamId = steamId;
                }

                string apiURL       = $"http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key={ApiKey}&steamid={processedSteamId}&format=json";
                string responseBody = await HttpClient.GetStringAsync(apiURL);

                // gamesOwnedDetails is of JObject type
                dynamic gamesOwnedDetails = JsonConvert.DeserializeObject(responseBody);

                // gamesArray of JArray type
                var gamesArray = gamesOwnedDetails["response"]["games"];

                //DebugLog($"Type of games Array: {gamesArray.GetType()}");

                List <GameTimePlayed> gamesList = gamesArray.ToObject <List <GameTimePlayed> >();

                List <GameInfo> gameInfos = await ConvertGameTimePlayedListToGameInfoList(gamesList, steamId);


                var ordGameInfos = gameInfos.OrderByDescending(gameInfo => gameInfo.GamePlaytime).ToList();

                //DebugLog($"Type of gamesList: {gamesList.GetType()}");

                //var gamesListOrdByPlaytime = gamesList.OrderByDescending(game => game.playtime_forever).ToList();

                //ViewData["GamesPlayed"] = gamesListOrdByPlaytime;

                var allGamesPlayed = new GamesPlayed
                {
                    GameInfos = ordGameInfos
                };

                //dynamic achObj = await GetAchievementsForGame(99900);

                //DebugLog($"Game name: {achObj["playerstats"]["gameName"]}");

                return(allGamesPlayed);


                //return Content("Player with that id does not exist.");
            }
            catch (HttpRequestException e)
            {
                DebugLog("\nException Caught!");
                DebugLog("From GetGamesPlayedByUser");
                DebugLog($"Message :{e.Message}");
                //var error = JsonConvert.DeserializeObject(e.Message);
                // returm empty list
                return(null);
            }
        }
示例#10
0
文件: Program.cs 项目: M0diis/KD2
 public bool Equals(int other)
 {
     return(GamesPlayed.Equals(other));
 }
示例#11
0
 public IEnumerable <Game> GamesPlayedByTeam(string teamName)
 {
     return(GamesPlayed.Where(g => g.AwayTeam == teamName || g.HomeTeam == teamName));
 }