private ClosedGame GetClosedGame() { ClosedGame closedGame = closedGames.Find(g => !g.gameObject.activeSelf); if (closedGame == null) { closedGame = ClosedGame.Create(gameParent); closedGames.Add(closedGame); } return(closedGame); }
public static ClosedGame Create(Transform parent) { GameObject instance = GameObject.Instantiate((Resources.Load <GameObject>("Prefabs/GamePrefabClosed")), parent); instance.SetActive(false); ClosedGame instanceGame = instance.GetComponent <ClosedGame>(); instanceGame.myNumber = number; number++; return(instanceGame); }
private async Task LoadGames() { //get data for all games string data = await HTTPManager.current.AsyncSend(HttpMethod.Get, Credentials.gameserverURL + "/api/games", Credentials.admintoken); Node parsedData = Node.ConstructFrom(data); //show first version for (int i = 0; i < parsedData.Count(); i++) { if (parsedData[i]["isFinished"].Equals("0")) { OpenGame game = GetOpenGame(); string name_2 = parsedData[i]["userName_2"].ToString(); game.Set(parsedData[i]["userName_1"].ToString(), name_2 != "null"?name_2:""); openGamesActive++; } } for (int i = 0; i < parsedData.Count(); i++) { if (!parsedData[i]["isFinished"].Equals("0")) { ClosedGame game = GetClosedGame(); string name_2 = parsedData[i]["userName_2"].ToString(); game.Set(parsedData[i]["userName_1"].ToString(), name_2 != "null" ? name_2 : ""); closedGamesActive++; } } //show detailed version int openedGameIndex = 0; int closedGameIndex = 0; for (int iGame = 0; iGame < parsedData.Count(); iGame++) { string detailedData = await HTTPManager.current.AsyncSend(HttpMethod.Get, Credentials.gameserverURL + "/api/games/" + parsedData[iGame]["id"].ToString() + "/?containsFullHistory=true", Credentials.admintoken); Node parsedDetailData = Node.ConstructFrom(detailedData); int points_1 = 0; int points_2 = 0; for (int iRound = 0; iRound < parsedDetailData["rounds"].Count(); iRound++) { for (int iQuestion = 0; iQuestion < parsedDetailData["rounds"][iRound]["questions"].Count(); iQuestion++) { string answer_1 = parsedDetailData["rounds"][iRound]["questions"][iQuestion]["answerID_1"].ToString(); string answer_2 = parsedDetailData["rounds"][iRound]["questions"][iQuestion]["answerID_2"].ToString(); for (int iAnswer = 0; iAnswer < parsedDetailData["rounds"][iRound]["questions"][iQuestion]["question"]["answers"].Count(); iAnswer++) { if (parsedDetailData["rounds"][iRound]["questions"][iQuestion]["question"]["answers"][iAnswer]["id"].Equals(answer_1)) { if (parsedDetailData["rounds"][iRound]["questions"][iQuestion]["question"]["answers"][iAnswer]["isCorrect"].Equals("1")) { points_1++; } } if (parsedDetailData["rounds"][iRound]["questions"][iQuestion]["question"]["answers"][iAnswer]["id"].Equals(answer_2)) { if (parsedDetailData["rounds"][iRound]["questions"][iQuestion]["question"]["answers"][iAnswer]["isCorrect"].Equals("1")) { points_2++; } } } } } if (parsedData[iGame]["isFinished"].Equals("0")) { string name_2 = parsedData[iGame]["userName_2"].ToString(); openGames[openedGameIndex].Set( parsedData[iGame]["userName_1"].ToString(), name_2 != "null" ? name_2 : "", points_1.ToString(), points_2.ToString(), parsedDetailData["rounds"].Count().ToString()); openedGameIndex++; } else { string change = parsedData[iGame]["scoring"]["change"].ToString(); string change_1 = (parsedData[iGame]["scoring"]["winner"].Equals("2") ? "-" : "") + change; string change_2 = (parsedData[iGame]["scoring"]["winner"].Equals("1") ? "-" : "") + change; string name_2 = parsedData[iGame]["userName_2"].ToString(); closedGames[closedGameIndex].Set( parsedData[iGame]["userName_1"].ToString(), name_2 != "null" ? name_2 : "", points_1.ToString(), points_2.ToString(), change_1, change_2); closedGameIndex++; } } }