NewOnlineGame.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4. using UnityEngine;
  5. using UnityEngine.UI;
  6. public class NewOnlineGame : MonoBehaviour
  7. {
  8. public Button inviteButton;
  9. public Button startButton;
  10. public InputField correctAnswersToWin;
  11. public InputField timeLimitPerQuestion;
  12. public InputField timeLimitPerPlayer;
  13. Text invitedCountText;
  14. InvitePanelScript ips;
  15. // Start is called before the first frame update
  16. void Start()
  17. {
  18. //inviteButton.onClick.AddListener(OpenInvitePanel);
  19. startButton.onClick.AddListener(StartNewGame);
  20. invitedCountText = GameObject.Find("InvitedCountText").GetComponent<Text>();
  21. }
  22. private void Update() {
  23. if (ips == null) {
  24. ips = GameObject.Find("InvitePanel").GetComponent<InvitePanelScript>();
  25. }
  26. if (ips.AreThereInvites()) {
  27. invitedCountText.GetComponent<CanvasGroup>().alpha = 1f;
  28. string text = LocalizationManager.Instance.GetText("INVITE_COUNT_TEXT");
  29. int invitedCount = ips.InvitedCount();
  30. text = String.Format(text, invitedCount.ToString());
  31. invitedCountText.text = text;
  32. startButton.interactable = true;
  33. }
  34. }
  35. private void StartNewGame() {
  36. // Collect all information for new game;
  37. // Send to Database;
  38. int timeLimitQuestion = GetInputFieldValue(timeLimitPerQuestion);
  39. int timeLimitPlayer = GetInputFieldValue(timeLimitPerPlayer);
  40. int correctToWin = GetInputFieldValue(correctAnswersToWin);
  41. List<InviteSearchResult> inviteUsers = ips.GetSelectedUsersForInvite();
  42. OnlineDatabase.Instance.SetupNewOnlineGame(timeLimitQuestion, timeLimitPlayer, correctToWin, inviteUsers);
  43. }
  44. private int GetInputFieldValue(InputField inputField) {
  45. int returnValue = 0;
  46. if (inputField.text.Equals("")) {
  47. string text = Regex.Match(inputField.placeholder.GetComponent<Text>().text, @"\d+").Value;
  48. Int32.TryParse(text, out returnValue);
  49. } else {
  50. string text = Regex.Match(inputField.text, @"\d+").Value;
  51. Int32.TryParse(text, out returnValue);
  52. }
  53. return returnValue;
  54. }
  55. }