Example #1
0
    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);
            }
        }
    }
Example #2
0
    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);
    }