using BigSpace.Logic; using BigSpace.XRCore.Event; using BigSpace.XRCore.RunningScene; using System.Collections; using System.Collections.Generic; using UnityEngine; public class StartShowUICtr : MonoBehaviour { // public List ListObj; public GameObject leaveBoxObj; public GameObject box360; public GameObject sceneTitle; public GameObject Volume; //后效 GameObject dynamicObj; GameObject staticObj; //显示字的时间 bool oIsRun = false; float oneWaitTime = 3f; float oneRunTime = 0; private void Awake() { dynamicObj = GameObject.Find("Dynamic"); staticObj = GameObject.Find("Static"); if (box360 != null) { box360.transform.position = new Vector3(10000,0,0); } if (dynamicObj != null) { dynamicObj.SetActive(false); } if (staticObj != null) { staticObj.SetActive(false); } if (leaveBoxObj != null) { leaveBoxObj.SetActive(false); } //for (int i = 0; i < ListObj.Count; i++) //{ // ListObj[i].SetActive(false); //} } // Start is called before the first frame update void Start() { GlobalEventMgr.Listen(GameEvent.EventRestScenePosition, GameDataManage_EventRestScenePosition); SetVolume(false); //Debug.Log("开始显示UI"+ RunningSceneMgr.Instance._runningSceneData.id); StartCoroutine(WaitingShowUI()); //显示UI ChangSceneSphereMgr.Instance.ShowChangeSecne(false);//黑球变淡 } private void Update() { if (oIsRun) { oneRunTime += Time.deltaTime; sceneTitle.transform.position = Camera.main.transform.position + Camera.main.transform.forward * 1; sceneTitle.transform.LookAt(Camera.main.transform); if (oneRunTime >= oneWaitTime) { oIsRun = false; oneRunTime = 0; sceneTitle.gameObject.SetActive(false); } } } void SetVolume(bool isShow) { if (Volume != null) { Volume.SetActive(isShow); } } //恢复场景 void GameDataManage_EventRestScenePosition() { //for (int i = 0; i < ListObj.Count; i++) //{ // ListObj[i].SetActive(true); //} if (dynamicObj != null) { dynamicObj.SetActive(true); } if (staticObj != null) { staticObj.SetActive(true); } if (leaveBoxObj != null) { leaveBoxObj.SetActive(true); } box360.transform.position = Vector3.zero; SetVolume(true); } private void OnDestroy() { GlobalEventMgr.Remove(GameEvent.EventRestScenePosition); } IEnumerator WaitingShowUI() { yield return new WaitForSeconds(1f); if (sceneTitle != null) { oIsRun = true; oneRunTime = 0; sceneTitle.SetActive(true); } else { GlobalEventMgr.Dispatch(GameEvent.EventShowUI, RunningSceneMgr.Instance._runningSceneData.id % 10000); } } }