InformationPanelScript.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 currentPlayerText;
  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. currentPlayerText.text = Database.Instance.GetSignedInUser().Value;
  20. if (logoutButton != null) {
  21. logoutButton.onClick.AddListener(() => {
  22. Database.Instance.LogoutUser();
  23. SceneManager.LoadScene("User");
  24. });
  25. }
  26. }
  27. public void SetCurrentPlayer(string playerName) {
  28. currentPlayerText.text = playerName;
  29. }
  30. void quitButtonAction() {
  31. if (returnToMenu) {
  32. SceneManager.LoadSceneAsync("MainMenu");
  33. } else {
  34. Application.Quit();
  35. }
  36. }
  37. private void SwitchLanguage(int langId) {
  38. LocalizationManager.Instance.currentLanguageID = langId;
  39. TextLocalization[] texts = Resources.FindObjectsOfTypeAll(typeof(TextLocalization)) as TextLocalization[];
  40. foreach (TextLocalization tl in texts) {
  41. tl.UpdateText();
  42. }
  43. InputFieldLocalization[] inputFields = FindObjectsOfType(typeof(InputFieldLocalization)) as InputFieldLocalization[];
  44. foreach (InputFieldLocalization ifl in inputFields) {
  45. ifl.UpdateText();
  46. }
  47. ButtonLocalization[] buttonLocale = FindObjectsOfType(typeof(ButtonLocalization)) as ButtonLocalization[];
  48. foreach (ButtonLocalization bl in buttonLocale) {
  49. bl.UpdateText();
  50. }
  51. }
  52. }