HomeMgr.cs 3.6 KB

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