InformationPanelScript.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 bool returnToMenu = false;
  13. // Start is called before the first frame update
  14. void Start() {
  15. quitButton.onClick.AddListener(quitButtonAction);
  16. swedishButton.onClick.AddListener(() => SwitchLanguage(0));
  17. englishButton.onClick.AddListener(() => SwitchLanguage(1));
  18. }
  19. public void SetCurrentPlayer(string playerName) {
  20. currentPlayerText.text = playerName;
  21. }
  22. void quitButtonAction() {
  23. if (returnToMenu) {
  24. SceneManager.LoadSceneAsync("MainMenu");
  25. } else {
  26. Application.Quit();
  27. }
  28. }
  29. private void SwitchLanguage(int langId) {
  30. LocalizationManager.Instance.currentLanguageID = langId;
  31. TextLocalization[] texts = Resources.FindObjectsOfTypeAll(typeof(TextLocalization)) as TextLocalization[];
  32. foreach (TextLocalization tl in texts) {
  33. tl.UpdateText();
  34. }
  35. InputFieldLocalization[] inputFields = FindObjectsOfType(typeof(InputFieldLocalization)) as InputFieldLocalization[];
  36. foreach (InputFieldLocalization ifl in inputFields) {
  37. ifl.UpdateText();
  38. }
  39. ButtonLocalization[] buttonLocale = FindObjectsOfType(typeof(ButtonLocalization)) as ButtonLocalization[];
  40. foreach (ButtonLocalization bl in buttonLocale) {
  41. bl.UpdateText();
  42. }
  43. }
  44. }