HomeMgr.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using JCUnityLib;
  5. using UnityEngine.SceneManagement;
  6. /* Home场景管理者 */
  7. public class HomeMgr : MonoBehaviour
  8. {
  9. public static HomeMgr ins;
  10. void Awake()
  11. {
  12. ins = this;
  13. PersistenHandler.Init();
  14. //ViewMgr.Instance.ShowView<TopBarView>();
  15. ViewMgr.Instance.ShowView<HomeView>();
  16. //ViewMgr.Instance.ShowView<HomeFrameView>();
  17. Instantiate(SceneResourceManager.Instance.GetPrefab("DeviceBatteryView"));
  18. Instantiate(SceneResourceManager.Instance.GetPrefab("AuthLoginMask"));
  19. //Instantiate(SceneResourceManager.Instance.GetPrefab("RenderBowCamera"));
  20. Instantiate(SceneResourceManager.Instance.GetPrefab("NewUserGuiderManager"));
  21. //标记某些界面不需要销毁
  22. // ViewMgr.Instance.SetViewDontDestroy<GameStartView>();
  23. //ViewMgr.Instance.SetViewDontDestroy<ChallengeOptionView>();
  24. ViewMgr.Instance.SetViewDontDestroy<RoleSelectView>();
  25. //ViewMgr.Instance.SetViewDontDestroy<PKGameOptionView>();
  26. ViewMgr.Instance.SetViewDontDestroy<PKMatchView>();
  27. //显示缓存的隐藏页面
  28. //ViewMgr.Instance.ResumeView<GameStartView>();
  29. //ViewMgr.Instance.ResumeView<ChallengeOptionView>();
  30. ViewMgr.Instance.ResumeView<RoleSelectView>();
  31. //ViewMgr.Instance.ResumeView<PKGameOptionView>();
  32. ViewMgr.Instance.ResumeView<PKMatchView>();
  33. //创建节点1
  34. if (ViewMgr.Instance.transform.Find("1") == null)
  35. {
  36. // 获取模板对象(假设名称为 "0")
  37. Transform template = ViewMgr.Instance.transform.Find("0");
  38. // 创建一个新的 GameObject,使用模板的 Transform 属性但不复制子物体
  39. GameObject newObj = new GameObject("1");
  40. newObj.transform.SetParent(ViewMgr.Instance.transform);
  41. newObj.transform.localPosition = template.localPosition;
  42. newObj.transform.localRotation = template.localRotation;
  43. newObj.transform.localScale = template.localScale;
  44. // 如果需要 RectTransform 组件,添加并设置它
  45. RectTransform rectTransform = newObj.AddComponent<RectTransform>();
  46. RectTransform templateRect = template.GetComponent<RectTransform>();
  47. if (templateRect != null)
  48. {
  49. rectTransform.anchorMin = templateRect.anchorMin;
  50. rectTransform.anchorMax = templateRect.anchorMax;
  51. rectTransform.offsetMin = templateRect.offsetMin;
  52. rectTransform.offsetMax = templateRect.offsetMax;
  53. }
  54. // newObj.transform.SetParent(ViewMgr.Instance.transform);
  55. }
  56. //红外界面
  57. InfraredDemo.Create();
  58. //b端单机版创建一个DevicesHolder
  59. if (CommonConfig.StandaloneModeOrPlatformB) {
  60. DevicesHolder.Init();
  61. }
  62. //视频播放待机页面
  63. StandbyVideoManager.Create();
  64. }
  65. void Start()
  66. {
  67. Time.timeScale = 1; //保证时间缩放为1
  68. //单机版本
  69. if (CommonConfig.StandaloneMode)
  70. {
  71. DoTweenUtil.CallDelay(0.1f, () => new UserPlayer());
  72. //带投币功能-b端
  73. if (CommonConfig.StandaloneModeOrPlatformB) StandaloneAPI.InitTimeCounter();
  74. }
  75. else UserPlayer.ConnectServer();
  76. }
  77. void OnDestroy()
  78. {
  79. if (ins == this) ins = null;
  80. ViewMgr.Instance.DestroyAllViewsExcludeDontDestroy();
  81. //隐藏可缓存的页面
  82. //ViewMgr.Instance.HideView<GameStartView>();
  83. //ViewMgr.Instance.HideView<ChallengeOptionView>();
  84. ViewMgr.Instance.HideView<RoleSelectView>();
  85. //ViewMgr.Instance.HideView<PKGameOptionView>();
  86. ViewMgr.Instance.HideView<PKMatchView>();
  87. }
  88. }