HomeMgr.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. StandbyVideoManager.Create();
  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. }