HomeMgr.cs 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. void Start()
  64. {
  65. Time.timeScale = 1; //保证时间缩放为1
  66. //单机版本
  67. if (CommonConfig.StandaloneMode)
  68. {
  69. DoTweenUtil.CallDelay(0.1f, () => new UserPlayer());
  70. //带投币功能-b端
  71. if (CommonConfig.StandaloneModeOrPlatformB) StandaloneAPI.InitTimeCounter();
  72. }
  73. else UserPlayer.ConnectServer();
  74. }
  75. void OnDestroy()
  76. {
  77. if (ins == this) ins = null;
  78. ViewMgr.Instance.DestroyAllViewsExcludeDontDestroy();
  79. //隐藏可缓存的页面
  80. //ViewMgr.Instance.HideView<GameStartView>();
  81. //ViewMgr.Instance.HideView<ChallengeOptionView>();
  82. ViewMgr.Instance.HideView<RoleSelectView>();
  83. //ViewMgr.Instance.HideView<PKGameOptionView>();
  84. ViewMgr.Instance.HideView<PKMatchView>();
  85. }
  86. }