NewOnlineGameScript.cs 1.6 KB

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