HomeMode.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using Photon.Pun;
  6. using Photon.Realtime;
  7. using UnityEngine.SceneManagement;
  8. using System;
  9. using System.Linq;
  10. using Hashtable = ExitGames.Client.Photon.Hashtable;
  11. public class HomeMode : MonoBehaviour
  12. {
  13. [Header("playerInfo")]
  14. public PlayerInfo playerInfo;
  15. [Header("loadingObject")]
  16. public LoadingObject loadingObject;
  17. public GameObject UpdateButtonParent;
  18. bool first = false;
  19. public void OffHome()
  20. {
  21. if(!first)
  22. {
  23. first = true;
  24. }
  25. playerInfo.OffPlayerInfo();
  26. Opening.instance.OffModeButtons();
  27. if(Opening.instance.checkUpdate.UpdateButton != null)
  28. {
  29. Opening.instance.checkUpdate.UpdateButton.SetActive(false);
  30. }
  31. if(UpdateButtonParent != null)
  32. {
  33. UpdateButtonParent.SetActive(false);
  34. }
  35. }
  36. public void SetUpHome()
  37. {
  38. playerInfo.SetPlayerInfo();
  39. Opening.instance.OnModeButtons();
  40. if (Opening.instance.OpeningBGM != null)
  41. {
  42. if (!Opening.instance.OpeningBGM.isPlaying)
  43. {
  44. Opening.instance.OpeningBGM.StartPlayBGM(Opening.instance.bgm);
  45. }
  46. }
  47. Opening.instance.OffYesNoObjects();
  48. Opening.instance.deck.trialDraw.Close();
  49. Opening.instance.deck.deckListPanel.Close();
  50. for (int i = 0; i < Opening.instance.deck.selectDeck.deckInfoPrefabParentScroll.content.childCount; i++)
  51. {
  52. if (Opening.instance.deck.selectDeck.deckInfoPrefabParentScroll.content.GetChild(i).TryGetComponent<CreateNewDeckButton>(out var createNewDeckButton))
  53. {
  54. createNewDeckButton.CreateNewDeckWayObject.Off();
  55. break;
  56. }
  57. }
  58. Opening.instance.optionPanel.CloseOptionPanel();
  59. }
  60. public void SetUpHomeMode_Disconnect()
  61. {
  62. StartCoroutine(SetUpHomeMode_DisconnectCoroutine());
  63. }
  64. public IEnumerator SetUpHomeMode_DisconnectCoroutine()
  65. {
  66. if(PhotonNetwork.IsConnected)
  67. {
  68. yield return ContinuousController.instance.StartCoroutine(loadingObject.StartLoading("Disconnecting"));
  69. yield return ContinuousController.instance.StartCoroutine(PhotonUtility.DisconnectCoroutine());
  70. yield return ContinuousController.instance.StartCoroutine(loadingObject.EndLoading());
  71. }
  72. SetUpHome();
  73. }
  74. }