InformationPanelScript.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. public class InformationPanelScript : MonoBehaviour
  7. {
  8. public Button quitButton;
  9. public Text loggedInPlayerText;
  10. public Button swedishButton;
  11. public Button englishButton;
  12. public Button logoutButton;
  13. public bool returnToMenu = false;
  14. // Start is called before the first frame update
  15. void Start() {
  16. quitButton.onClick.AddListener(quitButtonAction);
  17. swedishButton.onClick.AddListener(() => SwitchLanguage(0));
  18. englishButton.onClick.AddListener(() => SwitchLanguage(1));
  19. loggedInPlayerText.text = GameManagerScript.GetCurrentPlayer();
  20. if (logoutButton != null) {
  21. logoutButton.onClick.AddListener(() => {
  22. Database.Instance.LogoutUser();
  23. SceneManager.LoadScene("User");
  24. });
  25. }
  26. }
  27. void quitButtonAction() {
  28. if (returnToMenu) {
  29. SceneManager.LoadSceneAsync("MainMenu");
  30. } else {
  31. Application.Quit();
  32. }
  33. }
  34. private void SwitchLanguage(int langId) {
  35. LocalizationManager.Instance.currentLanguageID = langId;
  36. TextLocalization[] texts = Resources.FindObjectsOfTypeAll(typeof(TextLocalization)) as TextLocalization[];
  37. foreach (TextLocalization tl in texts) {
  38. tl.UpdateText();
  39. }
  40. InputFieldLocalization[] inputFields = FindObjectsOfType(typeof(InputFieldLocalization)) as InputFieldLocalization[];
  41. foreach (InputFieldLocalization ifl in inputFields) {
  42. ifl.UpdateText();
  43. }
  44. ButtonLocalization[] buttonLocale = FindObjectsOfType(typeof(ButtonLocalization)) as ButtonLocalization[];
  45. foreach (ButtonLocalization bl in buttonLocale) {
  46. bl.UpdateText();
  47. }
  48. }
  49. }