示例#1
0
    public static IEnumerator LoadBattleResult(DataReceiver dr, int battleID)
    {
        WWW www;

        Debug.Log("my battle ID: " + battleID);

        if (battleID != 0)
        {
            www = new WWW("http://veuspillet.dk/getQuizBattleResult.php/?bid=" + battleID);
            yield return(www);
        }
        else
        {
            www = new WWW("http://veuspillet.dk/getQuizBattleResult.php/?bid=" + DataContainer.currentBattle.battleID);
            yield return(www);
        }

        QuizBattleResult battleResult;

        Debug.Log(www.text);

        string[] segmentedData = www.text.Split('|');

        string[] tempStrings;
        tempStrings = www.text.Split(',');

        string[] questionIDStrings       = segmentedData[0].Split(',');
        int[]    questionIDs             = new int[(tempStrings.Length - 3) / 3];
        string[] challengerAnswerStrings = segmentedData[1].Split(',');
        int[]    challengerAnswers       = new int[(tempStrings.Length - 3) / 3];
        string[] defenderAnswerStrings   = segmentedData[2].Split(',');
        int[]    defenderAnswers         = new int[(tempStrings.Length - 3) / 3];

        for (int j = 0; j < (tempStrings.Length - 3) / 3; j++)
        {
            questionIDs [j]       = int.Parse(questionIDStrings [j]);
            challengerAnswers [j] = int.Parse(challengerAnswerStrings [j]);
            defenderAnswers [j]   = int.Parse(defenderAnswerStrings [j]);
        }

        string[] remainingData = segmentedData[3].Split(',');

        battleResult = new QuizBattleResult(int.Parse(remainingData[remainingData.Length - 1]), questionIDs, challengerAnswers, defenderAnswers, int.Parse(remainingData [remainingData.Length - 3]), int.Parse(remainingData [remainingData.Length - 2]));

        www = new WWW("http://veuspillet.dk/getAllQuestionsFromQuiz.php/?qid=" + DataContainer.selectedQuiz.quizID);
        yield return(www);

        string[]   questionDataStrings = www.text.Split('|');
        Question[] questions           = new Question[questionDataStrings.Length];

        for (int i = 0; i < questionDataStrings.Length - 1; i++)
        {
            tempStrings   = questionDataStrings [i].Split(',');
            questions [i] = new Question(int.Parse(tempStrings [0]), tempStrings [1], tempStrings [2], tempStrings [3], tempStrings [4], tempStrings [5]);
        }

        dr.ReceiveBattleResult(battleResult, questions);
    }
示例#2
0
 public override void ReceiveBattleResult(QuizBattleResult battleResult, Question[] questions)
 {
     foreach (Question q in questions)
     {
         GameObject newResultsPost = Instantiate(resultPostPanelPrefab) as GameObject;
         newResultsPost.transform.SetParent(resultsContentPanel);
         newResultsPost.GetComponent <ResultPostFiller> ().FillPost(battleResult, q);
     }
 }
示例#3
0
    public static IEnumerator SaveQuizBattleResult(QuizBattleResult quizBattleResultToSave)
    {
        string questionIDs       = "";
        string challengerAnswers = "";
        string defenderAnswers   = "";

        for (int i = 0; i < quizBattleResultToSave.questionIDs.Length; i++)
        {
            if (i == quizBattleResultToSave.questionIDs.Length - 1)
            {
                questionIDs += quizBattleResultToSave.questionIDs [i];

                challengerAnswers += quizBattleResultToSave.questionAnswersChallenger [i];
                defenderAnswers   += quizBattleResultToSave.questionAnswersDefender [i];
            }
            else
            {
                questionIDs += quizBattleResultToSave.questionIDs [i] + ",";

                challengerAnswers += quizBattleResultToSave.questionAnswersChallenger [i] + ",";
                defenderAnswers   += quizBattleResultToSave.questionAnswersDefender [i] + ",";
            }
        }

        Debug.Log(challengerAnswers);

        questionIDs       += "|";
        challengerAnswers += "|";
        defenderAnswers   += "|";

        WWWForm myForm = new WWWForm();

        myForm.AddField("questionIDs", questionIDs);
        myForm.AddField("challengerAnswers", challengerAnswers);
        myForm.AddField("defenderAnswers", defenderAnswers);
        myForm.AddField("challengerID", quizBattleResultToSave.challengerID);
        myForm.AddField("defenderID", quizBattleResultToSave.defenderID);
        myForm.AddField("battleID", quizBattleResultToSave.battleID);

        WWW www = new WWW("http://veuspillet.dk/saveQuizBattleResultData.php", myForm);

        yield return(www);

        Debug.Log(www.text);
    }
示例#4
0
    public void FillPost(QuizBattleResult qbr, Question q)
    {
        questionTextField.text = q.question;

        int count = 0;

        foreach (int id in qbr.questionIDs)
        {
            if (id == q.questionID)
            {
                if (qbr.questionAnswersChallenger [count] == 0)
                {
                    challengerAnswer.color = Color.green;
                }
                else
                {
                    challengerAnswer.color = Color.red;
                }

                switch (qbr.questionAnswersChallenger [count])
                {
                case 0:
                    challengerTextField.text = q.correctAnswer;
                    break;

                case 1:
                    challengerTextField.text = q.wrongAnswer1;
                    break;

                case 2:
                    challengerTextField.text = q.wrongAnswer2;
                    break;

                case 3:
                    challengerTextField.text = q.wrongAnswer3;
                    break;
                }

                if (qbr.questionAnswersDefender [count] == 0)
                {
                    defenderAnswer.color = Color.green;
                }
                else
                {
                    defenderAnswer.color = Color.red;
                }

                switch (qbr.questionAnswersDefender [count])
                {
                case 0:
                    defenderTextField.text = q.correctAnswer;
                    break;

                case 1:
                    defenderTextField.text = q.wrongAnswer1;
                    break;

                case 2:
                    defenderTextField.text = q.wrongAnswer2;
                    break;

                case 3:
                    defenderTextField.text = q.wrongAnswer3;
                    break;
                }
            }
            count++;
        }
    }
示例#5
0
 public abstract void ReceiveBattleResult(QuizBattleResult battleResult, Question[] questions);