InformationPanelScript.cs 1.9 KB

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