HomeMgr.cs 3.9 KB

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