HomeMgr.cs 3.9 KB

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