using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; /// /// 拆装进度 /// public enum Progress { 主板,硬盘,风扇,CPU,内存,导风罩,显卡,电源,机箱 } public class GameManager : MonoSingleton { public static InteractiveUI actionUI;//当前操作的ui public static Progress progress; public List instanceLists; public static Dictionary instanceMapping; public Transform cameraPos; public bool firstEnter = true; protected override void Awake() { base.Awake(); instanceMapping = new Dictionary(); foreach (var instacne in instanceLists) { if (!instanceMapping.ContainsKey(instacne.progress)) { instanceMapping.Add(instacne.progress,instacne); } } instanceLists = null; foreach (var instance in instanceMapping.Values) { instance.gameObject.SetActive(false); } } /// /// 更改状态 /// /// public static void ChangeProgress(Progress pro) { if (instanceMapping.ContainsKey(progress)) { progress = pro; Debug.Log(progress); instanceMapping[progress].gameObject.SetActive(true); instanceMapping[progress].OpenLine(); } } /// /// 交互结束回调 /// public void InteractEnd() { //操作栏ui关掉 提示特效关掉 UI.Instance.operation.SetActive(false); instanceMapping[progress].CloseLine(); EffectManager.Instance.DisableTipEffect(); TimeLineManager.Instance.pds[(int)progress].Play(); } /// /// 下一阶段 /// public void NextProcess() { UI.Instance.UpdateJDT(); UI.Instance.CloseOperation(); GameStageManager.Instance.currentStage = GameStage.展示; if (progress == Progress.机箱) { Camera.main.transform.DOMove(cameraPos.position, 2); Camera.main.transform.DOLocalRotate(cameraPos.localEulerAngles, 2); UI.Instance.nextPanel.SetActive(true); UI.Instance.nextPanel.GetComponentInChildren