public void EnablePanoMode(EPANOMESHMODE emode) { foreach (KeyValuePair <EPANOMESHMODE, PanoModeBase> kv in _ModeDic) { if (kv.Key == emode) { _CurrentMode = emode; kv.Value.gameObject.SetActive(true); //每次切模式要重新SETMATERIAL PanoManager.Instance.SetPanoMode(PanoManager.EPANOMODE.OLD); } else { kv.Value.gameObject.SetActive(false); } } }
private void Awake() { PanoModeBase[] _PanoModeArr = GetComponentsInChildren <PanoModeBase>(true); foreach (PanoModeBase mode in _PanoModeArr) { mode.gameObject.SetActive(false); EPANOMESHMODE emode = (EPANOMESHMODE)Enum.Parse(typeof(EPANOMESHMODE), mode.gameObject.name, true); _ModeDic.Add(emode, mode); } foreach (PanoModeBase mode in _PanoModeArr) { EPANOMESHMODE emode = (EPANOMESHMODE)Enum.Parse(typeof(EPANOMESHMODE), mode.gameObject.name, true); Camera[] mCamera = mode.gameObject.GetComponentsInChildren <Camera>(true); //Debug.LogError("emode: " + emode + " cameraNum = " + mCamera.Length); _CameraDic.Add(emode, mCamera); } EnablePanoMode(_CurrentMode); }