StartOnlineGameButton.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.SceneManagement;
  6. using UnityEngine.UI;
  7. public class StartOnlineGameButton : MonoBehaviour
  8. {
  9. public Slider answerTimeSlider;
  10. public Slider daysToAnswerSlider;
  11. public Slider correctsToWinSlider;
  12. public GameObject invitePanel;
  13. [SerializeField] Button CategoriesButton;
  14. [SerializeField] GameObject SelectCategoriesPanel;
  15. private InvitePanelScript ips;
  16. private Button startButton;
  17. // Start is called before the first frame update
  18. void Start()
  19. {
  20. startButton = GetComponent<Button>();
  21. startButton.onClick.AddListener(StartNewOnlineGame);
  22. startButton.interactable = false;
  23. ips = invitePanel.GetComponent<InvitePanelScript>();
  24. CategoriesButton.onClick.AddListener(SelectCategories);
  25. }
  26. private void SelectCategories()
  27. {
  28. SelectCategoriesPanel.gameObject.SetActive(true);
  29. }
  30. // Update is called once per frame
  31. void Update()
  32. {
  33. if (ips.AreThereInvites()) {
  34. startButton.interactable = true;
  35. }
  36. // TODO, make sure there are enough questions selected in categories
  37. }
  38. void StartNewOnlineGame() {
  39. List<InviteSearchResult> inviteUsers = ips.GetSelectedUsersForInvite();
  40. OnlineDatabase.Instance.SetupNewOnlineGame((int)correctsToWinSlider.value, (int)daysToAnswerSlider.value, (int)correctsToWinSlider.value, inviteUsers);
  41. SceneManager.LoadScene("MainMenu");
  42. }
  43. }