InformationPanelScript.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.SceneManagement;
  6. using UnityEngine.UI;
  7. public class InformationPanelScript : MonoBehaviour {
  8. public Button quitButton;
  9. public Text loggedInPlayerText;
  10. public Button settingsButton;
  11. public Button logoutButton;
  12. [SerializeField] Button BackButton;
  13. [SerializeField] bool settingsButtonVisible = false;
  14. [SerializeField] bool logoutButtonVisible = false;
  15. [SerializeField] bool quitButtonVisible = false;
  16. [SerializeField] bool backButtonVisible = false;
  17. [SerializeField] bool signedInPlayerVisible = false;
  18. // Start is called before the first frame update
  19. void Start() {
  20. SetButtonVisibilities();
  21. quitButton.onClick.AddListener(QuitButtonAction);
  22. BackButton.onClick.AddListener(BackButtonAction);
  23. settingsButton.onClick.AddListener(OpenSettings);
  24. loggedInPlayerText.text = Database.Instance.GetSignedInUser().Value;
  25. if (logoutButton != null) {
  26. logoutButton.onClick.AddListener(() => {
  27. Database.Instance.LogoutUser();
  28. SceneManager.LoadScene("User");
  29. });
  30. }
  31. }
  32. private void SetButtonVisibilities() {
  33. settingsButton.gameObject.SetActive(settingsButtonVisible);
  34. quitButton.gameObject.SetActive(quitButtonVisible);
  35. logoutButton.gameObject.SetActive(logoutButtonVisible);
  36. BackButton.gameObject.SetActive(backButtonVisible);
  37. loggedInPlayerText.gameObject.SetActive(signedInPlayerVisible);
  38. }
  39. void QuitButtonAction() {
  40. Application.Quit();
  41. }
  42. void BackButtonAction() {
  43. SceneManager.LoadSceneAsync("MainMenu");
  44. }
  45. private void SwitchLanguage(int langId) {
  46. LocalizationManager.Instance.currentLanguageID = langId;
  47. TextLocalization[] texts = Resources.FindObjectsOfTypeAll(typeof(TextLocalization)) as TextLocalization[];
  48. foreach (TextLocalization tl in texts) {
  49. tl.UpdateText();
  50. }
  51. InputFieldLocalization[] inputFields = FindObjectsOfType(typeof(InputFieldLocalization)) as InputFieldLocalization[];
  52. foreach (InputFieldLocalization ifl in inputFields) {
  53. ifl.UpdateText();
  54. }
  55. ButtonLocalization[] buttonLocale = FindObjectsOfType(typeof(ButtonLocalization)) as ButtonLocalization[];
  56. foreach (ButtonLocalization bl in buttonLocale) {
  57. bl.UpdateText();
  58. }
  59. }
  60. private void OpenSettings() {
  61. SceneManager.LoadSceneAsync("Settings");
  62. }
  63. public Button GetBackButton() {
  64. return BackButton;
  65. }
  66. }