Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void SendRoundDataToFirebase()
- {
- List<FirestoreDocumentModel> playerRoundDataNested = new List<FirestoreDocumentModel>();
- IEnumerable<PlayerOffline> sortedQuery = from player in playersOffline orderby player.corrects descending, player.time ascending select player;
- string[] playerList = new string[playersOffline.Count];
- int index = 0;
- foreach (PlayerOffline player in sortedQuery)
- {
- List<FirestoreDocumentModel> playerRoundDataDoubleNested = new List<FirestoreDocumentModel>();
- //Double nested mapped values for the player, using the player name as the key
- playerRoundDataDoubleNested.Add(new FirestoreDocumentModel("Corrects", FirestoreDocumentModel.ValueType.integerValue, player.corrects.ToString()));
- playerRoundDataDoubleNested.Add(new FirestoreDocumentModel("Incorrects", FirestoreDocumentModel.ValueType.integerValue, player.incorrects.ToString()));
- playerRoundDataDoubleNested.Add(new FirestoreDocumentModel("Time", FirestoreDocumentModel.ValueType.doubleValue, player.time.ToString("N2")));
- playerRoundDataDoubleNested.Add(new FirestoreDocumentModel("AverageBuzzTime", FirestoreDocumentModel.ValueType.doubleValue, player.averageBuzzTime.ToString("N2")));
- playerRoundDataDoubleNested.Add(new FirestoreDocumentModel("ThumbsUp", FirestoreDocumentModel.ValueType.booleanValue, player.thumbsUp.ToString()));
- if (player.name != "Player" && string.IsNullOrWhiteSpace(player.name) != true)
- {
- playerRoundDataNested.Add(new FirestoreDocumentModel(player.name, FirestoreDocumentModel.ValueType.mapValue, FirestoreUtility.CreateJsonString(playerRoundDataDoubleNested)));
- playerList[index] = player.name;
- }
- else
- {
- playerRoundDataNested.Add(new FirestoreDocumentModel(player.name + player.assignedLetter, FirestoreDocumentModel.ValueType.mapValue, FirestoreUtility.CreateJsonString(playerRoundDataDoubleNested)));
- playerList[index] = player.name + player.assignedLetter;
- }
- index++;
- }
- List<FirestoreDocumentModel> finalRoundData = new List<FirestoreDocumentModel>();
- finalRoundData.Add(new FirestoreDocumentModel("Judge", FirestoreDocumentModel.ValueType.stringValue, Global.PlayFabID));
- finalRoundData.Add(new FirestoreDocumentModel("Title", FirestoreDocumentModel.ValueType.stringValue, roundName));
- finalRoundData.Add(new FirestoreDocumentModel("RoundFileName", FirestoreDocumentModel.ValueType.stringValue, QuestionDatabase.RoundName));
- finalRoundData.Add(new FirestoreDocumentModel("RoundFilePath", FirestoreDocumentModel.ValueType.stringValue, QuestionDatabase.RoundPath));
- finalRoundData.Add(new FirestoreDocumentModel("PlayerList", FirestoreDocumentModel.ValueType.arrayValue, playerList));
- finalRoundData.Add(new FirestoreDocumentModel("Players", FirestoreDocumentModel.ValueType.mapValue, FirestoreUtility.CreateJsonString(playerRoundDataNested)));
- string jsonData = FirestoreUtility.CreateJsonString(finalRoundData);
- var request = new ExecuteCloudScriptRequest();
- Debug.Log(jsonData);
- request.FunctionName = "addRoundData";
- request.FunctionParameter = jsonData;
- PlayFab.PlayFabClientAPI.ExecuteCloudScript(request, SendSuccess, SendFailed);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement