using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using JCUnityLib; public class NewUserGuiderManager : MonoBehaviour { [SerializeField] GameObject prefab_NewUserGuider; [SerializeField] GameObject prefab_InfraredGuider; public static NewUserGuiderManager ins; void Awake() { if (ins) { Destroy(gameObject); return; } ins = this; DontDestroyOnLoad(gameObject); } void OnDestroy() { if (ins == this) ins = null; if (onSceneLoaded_added) SceneManager.sceneLoaded -= onSceneLoaded; } void Start() { SceneManager.sceneLoaded += onSceneLoaded; onSceneLoaded_added = true; if (CommonConfig.StandaloneMode) { configKeyList.Remove("切换好友/排行榜"); configKeyList.Remove("展开好友/排行榜"); configKeyList.Remove("联机游戏"); } } bool onSceneLoaded_added = false; void onSceneLoaded(Scene scene, LoadSceneMode loadSceneMode) { //初始话的场景不会触发 if (scene.name == "Game" && GameMgr.gameType == 1) { switch (curConfigKey) { case "开始-限时游戏": OnClickedDestroyed(curConfigKey); break; case "限时游戏-选择距离": ExecuteCurConfig(); break; case "视角归位-触发": configKeyList.Remove("教程结束"); ExecuteCurConfig(); break; case "开始-红外调整": if (PlayerPrefs.GetInt("entry-guider-infrared-" + LoginMgr.myUserInfo.id, 0) == 1) { PlayerPrefs.SetInt("entry-guider-infrared-" + LoginMgr.myUserInfo.id, 2); onInitInfraredGuider(); } break; } } } public void OnSkip() { curConfigKey = null; isNewModule = false; LoginMgr.myUserInfo.SaveGuideFinish(0); } public void OnEnd() { curConfigKey = null; isNewModule = false; LoginMgr.myUserInfo.SaveGuideFinish(0); } public void ReviewNewUserGuide() { int viewCount = PersistenHandler.ins.menuBackCtr.views.Count; for (int i = 0; i < viewCount; i++) { PersistenHandler.ins.menuBackCtr.OnOnceBack(); } foreach (var item in FindObjectsOfType()) Destroy(item); curConfigKey = "投屏建议"; ExecuteCurConfig(); LoginMgr.myUserInfo.SaveGuideFinish(0); } void InitConfigs() { if (configsInited) return; configsInited = true; NewUserGuiderConfig config = new NewUserGuiderConfig(); config.key = "投屏建议"; config.hitActive = false; config.pointerActive = false; config.frameTipPivot = "ct"; config.frameTipPosType = 1; config.frameTipPos = Vector2.zero; config.onStart = (g) => { g.GetMaskClickedEvent().RemoveAllListeners(); g.ActiveBtnSkip(false); RectTransform btnOK = g.transform.Find("BtnOK") as RectTransform; btnOK.anchoredPosition = new Vector2(0, -250); if (TextAutoLanguage2.GetLanguage() == LanguageEnum.English) { btnOK.anchoredPosition = new Vector2(0, -300); g.FixFrameTipWidth(1200); g.frameTip.anchoredPosition += Vector2.up * 20; } btnOK.GetComponent