InformationPanelScript.cs 2.6 KB

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