OnlinePlayerInfoScript.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.UI;
  6. public class OnlinePlayerInfoScript : MonoBehaviour
  7. {
  8. public Text playerName;
  9. public Text playerStatus;
  10. public Button acceptButton;
  11. public Button declineButton;
  12. public Transform buttonPanel;
  13. public Transform statusPanel;
  14. private int gameId;
  15. private string PENDING = "ONLINE_PLAYER_STATUS_WAITING";
  16. private string ACCEPTED = "ONLINE_PLAYER_STATUS_ACCEPTED";
  17. private string DECLINED = "ONLINE_PLAYER_STATUS_DECLINED";
  18. public int GameId { get => gameId; set => gameId = value; }
  19. private void Start() {
  20. acceptButton.onClick.AddListener(AcceptGame);
  21. declineButton.onClick.AddListener(DeclineGame);
  22. }
  23. private void DeclineGame() {
  24. OnlineDatabase.Instance.DeclineOnlineGame(playerName.text, gameId);
  25. }
  26. private void AcceptGame() {
  27. OnlineDatabase.Instance.AcceptOnlineGame(playerName.text, gameId);
  28. }
  29. public void SetPlayerName(string name) {
  30. playerName.text = name;
  31. }
  32. public void SetPlayerStatus(string status) {
  33. if ("WAITING".Equals(status)) {
  34. playerStatus.GetComponent<TextLocalization>().key = PENDING;
  35. playerStatus.text = LocalizationManager.Instance.GetText(PENDING);
  36. } else if ("ACCEPTED".Equals(status)) {
  37. playerStatus.GetComponent<TextLocalization>().key = ACCEPTED;
  38. playerStatus.text = LocalizationManager.Instance.GetText(ACCEPTED);
  39. } else if ("DECLINED".Equals(status)) {
  40. playerStatus.GetComponent<TextLocalization>().key = DECLINED;
  41. playerStatus.text = LocalizationManager.Instance.GetText(DECLINED);
  42. }
  43. }
  44. internal void ShowDecitionButtons() {
  45. statusPanel.GetComponent<CanvasGroup>().alpha = 0f;
  46. CanvasGroup buttonCanvasGroup = buttonPanel.GetComponent<CanvasGroup>();
  47. buttonCanvasGroup.alpha = 1f;
  48. buttonCanvasGroup.interactable = true;
  49. buttonCanvasGroup.blocksRaycasts = true;
  50. }
  51. }