Ejemplo n.º 1
0
    private void Start()
    {
        SetHolesLabels();
        playerRef = players[0];

        continueButton.onClick.AddListener(onContinuePressed.Invoke);
    }
Ejemplo n.º 2
0
        private void AddRow_Click(object sender, RoutedEventArgs e)
        {
            ScoreRow newRow = new ScoreRow(numTotalQuestions, CommonConst.EmptyString);

            ItemsSource.Add(newRow);
            ScoreDataGrid.Height = (ItemsSource.Count * 50) + 60;
        }
    public void SetScoreTarget(ScoreRow scoreBoard)
    {
        playerScore = scoreBoard;//sets this players scoreboard
        int scoreID = scoreBoard.GetComponent <PhotonView>().ViewID;

        photonView.RPC("SetScoreBoard", RpcTarget.AllBufferedViaServer, scoreID); //sends a message to all players to set scoreboard
        playerScore.SetTargetPlayer(photonView.ViewID);                           //makes the scoreboards target this
    }
Ejemplo n.º 4
0
    private void SendScore()
    {
        var c1         = ColorUtility.ToHtmlStringRGB(dudes[0].GetColor());
        var c2         = ColorUtility.ToHtmlStringRGB(dudes[1].GetColor());
        var data       = gameStats.GetData();
        var challenges = data.completed.Count + data.recentlyCompleted.Count;
        var score      = 10 * challenges + data.wins - data.losses;
        var big        = ScoreRow.GetNum(challenges, data.wins, data.losses);

        scoreManager.SubmitScore(dudes[0].GetName() + "-" + dudes[1].GetName() + "-" + c1 + "-" + c2, score, big, data.id);
    }
 private void LeaderboardReceived(Response<LeaderboardScores> response)
 {
     //would hide the loading message here
      if (!response.Success)
      {
     //todo handle the error, maybe display a message to the user
      }
      else
      {
     Scores.Children.Clear();
     for (var i = 0; i < response.Data.Scores.Count; ++i)
     {
        var row = new ScoreRow(response.Data.Scores[i]);
        Scores.Children.Add(row);
     }
      }
 }
Ejemplo n.º 6
0
 private void CreateScoreBoardClient()
 {
     if (scoreJsonMsg != null)
     {
         SaveScoreJsonMsg(scoreJsonMsg);
     }
     for (int i = 0; i < scoreMsg.scoreList.Count && i < maxScoreNum; i++)
     {
         ScoreItem  item           = scoreMsg.scoreList[i];
         GameObject scoreRow       = Instantiate(scoreRowPefab) as GameObject;
         ScoreRow   scoreRowScript = scoreRow.GetComponent <ScoreRow>();
         scoreRowScript.rankNum.text  = item.account.ToString();
         scoreRowScript.score.text    = item.score.ToString();
         scoreRowScript.dateTime.text = item.time.ToString();
         scoreRow.transform.SetParent(contentPanel, false);
         //Debug.Log(scoreRow.transform.localPosition.ToString());
     }
 }
Ejemplo n.º 7
0
    public void DisplayScores(Score[] scores)
    {
        foreach (Transform child in parent)
        {
            Destroy(child.gameObject);
        }

        for (int i = 0; i < scores.Length; i++)
        {
            if (scores[i].power != -1)
            {
                GameObject scoreRow = Instantiate(rowPrefab);
                ScoreRow   script   = scoreRow.GetComponent <ScoreRow>();
                script.SetText(scores[i].power, scores[i].time);
                scoreRow.transform.position = new Vector3(0f, i * -30f, 0f);
                scoreRow.transform.SetParent(parent, false);
            }
        }
    }
Ejemplo n.º 8
0
    public static List <ScoreRow> LoadScoreTable()
    {
        var scoreTable    = new List <ScoreRow>();
        var xmlDoc        = ReadXml(_filePath);
        var scoreRowNodes = xmlDoc.GetElementsByTagName("ScoreRow");

        foreach (XmlNode scoreRowNode in scoreRowNodes)
        {
            var scoreRow = new ScoreRow();
            var f**k     = scoreRowNode.SelectSingleNode(nameof(scoreRow.Id)).InnerText;
            scoreRow.Id         = int.Parse(scoreRowNode.SelectSingleNode(nameof(scoreRow.Id)).InnerText);
            scoreRow.PlayerName = scoreRowNode.SelectSingleNode(nameof(scoreRow.PlayerName)).InnerText;
            scoreRow.Score      = int.Parse(scoreRowNode.SelectSingleNode(nameof(scoreRow.Score)).InnerText);
            scoreRow.PlayTime   = DateTime.Parse(scoreRowNode.SelectSingleNode(nameof(scoreRow.PlayTime)).InnerText);
            scoreTable.Add(scoreRow);
        }

        return(scoreTable);
    }
Ejemplo n.º 9
0
        public override void Open()
        {
            base.Open();
            if (m_Rows.Count > 0)
            {
                for (int i = m_Rows.Count - 1; i >= 0; i--)
                {
                    m_Rows[i].ReturnToPool();
                }
            }
            m_Rows.Clear();
            m_ScoreRows.Clear();
            string text = PlayerPrefs.GetString(NAME_HIGHSCORE_SAVE);
            int    val  = 0;

            if (string.IsNullOrWhiteSpace(text) == false)
            {
                var lines = text.Split('\n');
                if (lines != null && lines.Length > 0)
                {
                    for (int i = lines.Length - 1; i >= 0; i--)
                    {
                        if (string.IsNullOrWhiteSpace(lines[i]))
                        {
                            continue;
                        }
                        var playerInfo = lines[i].Split('=');
                        if (playerInfo.Length == 2)
                        {
                            val = 0;
                            Int32.TryParse(playerInfo[1], out val);
                            ScoreRow sr = new ScoreRow()
                            {
                                Name = playerInfo[0], Score = val
                            };
                            m_ScoreRows.Add(sr);
                        }
                    }
                }
            }
            BuildRows();
        }
Ejemplo n.º 10
0
    public void updateScoreBoard()
    {
        List <Player> activePlayers = FindObjectOfType <PlayersSpawner>().GetAllPlayers();
        List <Player> clonedList    = activePlayers.ToList <Player>();

        scoreMap = ScoreManager.scoreMap;
        List <GameObject> scoreRowsGOs = getScoreRowsByOrder(clonedList.Count);

        int index = 0;

        // Display results.
        foreach (var scoreItem in scoreMap.OrderByDescending(i => i.Value))
        {
            Player   player   = clonedList.Find((Player arg1) => arg1.id == scoreItem.Key);
            ScoreRow scoreRow = scoreRowsGOs[index].GetComponent <ScoreRow>();
            scoreRow.updateScore(player.id, scoreMap[player.id], player.playerColor);

            index++;
        }
    }
Ejemplo n.º 11
0
        private void CreateRow(string name)
        {
            ScoreRow sr = new ScoreRow()
            {
                Name = name, Score = m_Score
            };

            m_ScoreRows.Add(sr);
            if (m_Rows.Count > 0)
            {
                for (int i = m_Rows.Count - 1; i >= 0; i--)
                {
                    m_Rows[i].ReturnToPool();
                }
            }
            m_Rows.Clear();
            BuildRows();
            m_EnterName.Close();
            SaveRows();
        }
Ejemplo n.º 12
0
    public void OnClick()
    {
        if (string.IsNullOrEmpty(_input.text))
        {
            Debug.Log("请输入玩家昵称!");
        }
        else
        {
            int    score      = int.Parse(_score.text);
            string playerName = _input.text;
            var    scoreRow   = new ScoreRow(playerName, score);
            if (_scoreTable.Count < 10)
            {
                _scoreTable.Add(scoreRow);
                _scoreTable.OrderByDescending(p => p.Score);
                for (int i = 0; i < _scoreTable.Count; i++)
                {
                    _scoreTable[i].Id = i + 1;
                }
            }
            else
            {
                if (_scoreTable.Any(p => p.Score < score))
                {
                    _scoreTable.RemoveAt(_scoreTable.Count - 1);
                    _scoreTable.Add(scoreRow);
                    _scoreTable = _scoreTable.OrderByDescending(p => p.Score).ToList();
                    for (int i = 0; i < _scoreTable.Count; i++)
                    {
                        _scoreTable[i].Id = i + 1;
                    }
                }
            }

            XmlHelper.SaveScoreTable(_scoreTable);

            this.transform.parent.gameObject.SetActive(false);
            _playerScorePanel.SetActive(true);
        }
    }
Ejemplo n.º 13
0
    public void CreateScoreBoard()
    {
        Item addItem = new Item();

        for (int i = 0; i < maxScoreNum; i++)
        {
            if (PlayerPrefs.HasKey("score" + i.ToString()))
            {
                addItem.score    = PlayerPrefs.GetInt("score" + i.ToString());
                addItem.dateTime = PlayerPrefs.GetString("date" + i.ToString());
                itemList.Add(addItem);

                GameObject scoreRow       = Instantiate(scoreRowPefab) as GameObject;
                ScoreRow   scoreRowScript = scoreRow.GetComponent <ScoreRow>();
                scoreRowScript.rankNum.text  = i.ToString();
                scoreRowScript.score.text    = addItem.score.ToString();
                scoreRowScript.dateTime.text = addItem.dateTime.ToString();

                scoreRow.transform.SetParent(contentPanel, false);
                Debug.Log(scoreRow.transform.localPosition.ToString());
            }
        }
    }
Ejemplo n.º 14
0
    private void ScoresLoaded()
    {
        var data = scoreManager.GetData();

        for (var i = 0; i < leaderboardsContainer.childCount; i++)
        {
            var go = leaderboardsContainer.GetChild(i).gameObject;
            Destroy(go);
        }

        data.scores.ToList().ForEach(entry =>
        {
            var firstName  = entry.name.Split(',');
            var parts      = firstName[0].Split('-');
            var row        = Instantiate(scoreRowPrefab, leaderboardsContainer);
            var name1      = "<color=#" + parts[2] + ">" + parts[0] + "</color>";
            var name2      = "<color=#" + parts[3] + ">" + parts[1] + "</color>";
            var details    = ScoreRow.GetDetails(long.Parse(entry.level));
            var percentage = Mathf.RoundToInt(details.challenges * 1f / Challenge.Names.Length * 100);
            var sep        = "<color=#ffffff80> / </color>";
            row.Setup(entry.position + ".", name1 + " & " + name2, details.wins + "-" + details.losses + sep + "<size=10>" + percentage + "% done</size>");
            FlagManager.SetFlag(row.flag, entry.locale);
        });

        if (!scoreManager.endReached && !firstSeen)
        {
            nextPage.SetActive(true);
            firstSeen = true;
        }

        this.StartCoroutine(() =>
        {
            Canvas.ForceUpdateCanvases();
            leaderboardsContainer.gameObject.SetActive(false);
            leaderboardsContainer.gameObject.SetActive(true);
        }, 1 / 60f);
    }
Ejemplo n.º 15
0
    public void updateScoreBoard()
    {
        List <Player> clonedList = new List <Player>(activePlayers);

        scoreMap = ScoreManager.scoreMap;
        List <GameObject> scoreRowsGOs = getScoreRowsByOrder(clonedList.Count);

        int index = 0;

        // Display results.
        foreach (var scoreItem in scoreMap.OrderByDescending(i => i.Value))
        {
            Player   player   = clonedList.Find((Player arg1) => arg1.id == scoreItem.Key);
            ScoreRow scoreRow = scoreRowsGOs[index].GetComponent <ScoreRow>();
            scoreRow.updateScore(player.id, scoreMap[player.id], player.playerColor);

            // Destroy the player.
            Destroy(player.gameObject);

            index++;
        }

        Destroy(GameObject.Find("GameManager"));
    }
    private void CreatePlayer()
    {
        List <Vector3>    spawnPositions = new List <Vector3>();
        List <Quaternion> spawnRotations = new List <Quaternion>();

        SpawnPoint[] spawnPoints = FindObjectsOfType <SpawnPoint>();
        foreach (SpawnPoint spawnPoint in spawnPoints)
        {
            if (!spawnPoint.GetOverlapped())
            {
                spawnPositions.Add(spawnPoint.transform.position); //adds all nonoverlapped spawn points to a list
                spawnRotations.Add(spawnPoint.transform.rotation); //adds all nonoverlapped spawn points to a list
            }
        }
        int             randomPoint   = Random.Range(0, spawnPositions.Count);
        Vector3         spawnPosition = spawnPositions[randomPoint];//selects a random spawn position from the list
        Quaternion      spawnRotation = spawnRotations[randomPoint];
        GameObject      playerObject  = PhotonNetwork.Instantiate(Path.Combine("PhotonPrefabs", "PlayerCharacter"), spawnPosition, spawnRotation);
        GameObject      scoreObject   = PhotonNetwork.Instantiate(Path.Combine("PhotonPrefabs", "ScoreRow"), spawnPosition, spawnRotation);
        PlayerCharacter player        = playerObject.GetComponent <PlayerCharacter>(); //gets the playercharacter script
        ScoreRow        scoreRow      = scoreObject.GetComponent <ScoreRow>();         //gets the scoreboard script

        player.SetScoreTarget(scoreRow);                                               //Passes the scoreRow to the player
    }
 private void SetScoreBoard(int ScoreID, PhotonMessageInfo info)//Assigns a score row to this player
 {
     playerScore = (PhotonView.Find(ScoreID).gameObject).GetComponent <ScoreRow>();
 }