예제 #1
0
    // Mette tutti i giocatori nella lista PlayerList
    public IEnumerator AddPlayerCO()
    {
        yield return(new WaitForSeconds(0.5f));

        // lista di player (clients)
        playerList.AddRange(GameObject.FindGameObjectsWithTag("Player"));

        Debug.Log("Ho fatto la ricerca dei giocatori");
        Debug.Log("I giocatori ora in gioco sono: " + playerList.Count);

        CheckLeaverPlayerList();

        foreach (var player in playerList)
        {
            Debug.Log(player.GetComponentInChildren <PlayerBehaviour>().name);
        }

        //Crea le posizioni nella lista di finalGraphPlayerList
        for (int i = 0; i < playerList.Count; i++)
        {
            //Debug.LogError("INIZIALIZZA GRAPH PLAYER!!!");
            FinalGraphClass newPlayer = new FinalGraphClass((("Default Player " + i).ToString()), 0);

            finalGraphPlayerList.Add(newPlayer);
        }

        timerText.text = ("Attendere l'inizio della sessione...");
    }
예제 #2
0
    // Aggiunge le domande e le risposte date da ogni Clients alla Game Session corrente
    public void SetupGameSession(string _nameSender, int _answerIndex)
    {
        string _answerStringTextToPass;

        //estrapolo il testo della risposta in base all'indice passato
        if (_answerIndex != -1)
        {
            _answerStringTextToPass = answerStringList[_answerIndex].answerText;


            // Se si, controllo nella lista finalGraphPlasyerList e controllo che non ci siano altri giocatori con lo stesso nome
            // in quel caso creo un nuovo FinalGraphClass e gli setto il nome ed il valore del contatore di risposte giuste
            for (int i = 0; i < finalGraphPlayerList.Count; i++)
            {
                if (finalGraphPlayerList[i].namePlayer.Contains("Player"))
                {
                    //Debug.LogError("DENTRO L'IF DEL NULL");

                    //Faccio il controllo se la risposta passata abbia il booleano a true
                    if (answerStringList[_answerIndex].isRightAnswer)
                    {
                        //Debug.LogError("DENTRO L'IF DEL BOOL TRUE");
                        FinalGraphClass newPlayer = new FinalGraphClass(_nameSender, 1);
                        finalGraphPlayerList.Remove(finalGraphPlayerList[i]);
                        finalGraphPlayerList.Insert(i, newPlayer);
                        break;
                    }
                    else
                    {
                        //Debug.LogError("DENTRO L'IF DEL BOOL FALSE");
                        FinalGraphClass newPlayer = new FinalGraphClass(_nameSender, 0);
                        finalGraphPlayerList.Remove(finalGraphPlayerList[i]);
                        finalGraphPlayerList.Insert(i, newPlayer);
                        break;
                    }
                }
                else if (finalGraphPlayerList[i].namePlayer == _nameSender)
                {
                    if (answerStringList[_answerIndex].isRightAnswer)
                    {
                        finalGraphPlayerList[i].counterRightAnswer++;
                    }
                }
            }
        }
        else
        {
            _answerStringTextToPass = "******";
        }

        ClientsClass newClient = new ClientsClass(_nameSender, _answerIndex, _answerStringTextToPass);

        Debug.Log(newClient);
        gameSession[currentQuestion].clientClassArch.Add(newClient);

        Debug.Log("ANSWER INDEX: " + _answerIndex + " e ANSWER STRING: " + _answerStringTextToPass);
        Debug.Log(clientsList.Count);
    }