using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using JCUnityLib; using UnityEngine.UI; public class ViewMgr : ViewManager { protected override void OnInited() { CanvasScaler viewMgrCanvasScaler = gameObject.GetComponent(); viewMgrCanvasScaler.referenceResolution = new Vector2(2532, 1170); viewMgrCanvasScaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; viewMgrCanvasScaler.matchWidthOrHeight = 0f; Canvas viewCanvas = gameObject.GetComponent(); viewCanvas.sortingOrder = 1; //设置视图组 //SetViewGroup(1); Debug.Log("初始化绑定ViewManager2.HideAllView"); SceneManager.sceneUnloaded += OnSceneUnloaded; //SceneManager.sceneLoaded += OnSceneLoaded; } //以下名称的预制体通过SceneResourceManager获取 HashSet scenePrefabs = new HashSet(new string[] { //Home "HomeView", "PKMatchView", "RoleSelectView" }); protected override GameObject LoadViewPrefab(string viewName) { if (scenePrefabs.Contains(viewName)) return SceneResourceManager.Instance.GetPrefab(viewName); return base.LoadViewPrefab("Home/" + viewName); } void OnSceneUnloaded(Scene scene) { ViewManager2.HideAllView(); if (scene.name == "InfraredGameDouble" || scene.name == "WildAttackDouble") { InfraredDemo._ins?.SetSinglePoint(true); Debug.Log("OnSceneUnloaded 取消设置单点模式"); } } void OnSceneLoaded(Scene scene, LoadSceneMode loadSceneMode) { if (scene.name == "InfraredGameDouble" || scene.name == "WildAttackDouble") { //判断蓝牙连接状态,如果连接了两个,直接判断是否开启双点 InfraredDemo._ins?.SetSinglePoint(false); Debug.Log("OnSceneLoaded 设置双点模式"); //if (BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess && BluetoothAim.ins.getSmartBowHelper2P().GetBluetoothStatus() == SmartBowSDK.BluetoothStatusEnum.Connected) //{ // //如果存在两个蓝牙,则双点。 // InfraredDemo._ins?.SetSinglePoint(true); // Debug.Log("OnSceneLoaded 设置双点模式"); //} //else { // InfraredDemo._ins?.SetSinglePoint(false); // Debug.Log("OnSceneLoaded 设置单点模式"); //} } } }