NewStartLocalGameScript.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6. public class NewStartLocalGameScript : MonoBehaviour
  7. {
  8. public Slider secondsToAnswer;
  9. public Slider correctsToWin;
  10. public Slider numberOfPlayer;
  11. // Start is called before the first frame update
  12. void Start()
  13. {
  14. gameObject.GetComponent<Button>().onClick.AddListener(StartLocalGame);
  15. }
  16. private void StartLocalGame() {
  17. Database.Instance.SetLocalOrOnline("Local");
  18. List<string> playerNames = new List<string>();
  19. int correctsToWinInt = (int)correctsToWin.value;
  20. int numberOfPayersInt = (int)numberOfPlayer.value;
  21. int secondsToAnswerInt = (int)secondsToAnswer.value;
  22. int gameId = Database.Instance.SetupNewLocalGame(correctsToWinInt, numberOfPayersInt, secondsToAnswerInt);
  23. Transform newPlayersPanel = GameObject.Find("NewPlayersPanel").transform;
  24. PlayerSetting[] playerSettings = newPlayersPanel.GetComponentsInChildren<PlayerSetting>();
  25. for (int i = 0; i < playerSettings.Length; i++) {
  26. string playerName = playerSettings[i].GetComponent<PlayerSetting>().nameInput.text;
  27. playerNames.Add(playerName);
  28. }
  29. Database.Instance.LinkPlayersToLocalGame(playerNames, gameId);
  30. PlayerPrefs.SetString("GameMode", "Local");
  31. PlayerPrefs.SetInt("GameId", gameId);
  32. PlayerPrefs.SetInt("QuestionTimer", secondsToAnswerInt);
  33. PlayerPrefs.SetInt("NeededForWin", correctsToWinInt);
  34. SceneManager.LoadSceneAsync("narKampen");
  35. }
  36. }