public void SetPanoMode(EPANOMODE showMode = EPANOMODE.OLD, EPANOTEXTUREMODE texmode = EPANOTEXTUREMODE.EMP_OLD, params PanoTextureForOneDevice[] texDeviceArr)
    {
        if (texDeviceArr.Length > 0)
        {
            mPanoTextureDeviceArr = texDeviceArr;
        }

        if (showMode != EPANOMODE.OLD)
        {
            _CurShowMode = showMode;
        }
        if (texmode != EPANOTEXTUREMODE.EMP_OLD)
        {
            _CurrentTextureMode = texmode;
        }


        ATrace.Log(string.Format("SetPanoMode: {0} : {1}", _CurShowMode, _CurrentTextureMode));

        foreach (KeyValuePair <EPANOMODE, PanoMeshBase> kv in mPanoMeshDic)
        {
            if (_CurShowMode == kv.Key)
            {
                kv.Value.gameObject.SetActive(true);
                if (mPanoTextureDeviceArr != null)
                {
                    kv.Value.SetMaterial(_CurrentTextureMode, mMediaSize, mContentSize, mPanoTextureDeviceArr);
                }
            }
            else
            {
                kv.Value.gameObject.SetActive(false);
            }
        }

        if (mPanoTextureDeviceArr != null && mPanoTextureDeviceArr.Length > 0)
        {
            PanoTextureForOneDevice dv = mPanoTextureDeviceArr[0];
            if (dv != null && dv._TextureArr.Length > 0)
            {
                Texture tex = dv._TextureArr[0];

                int width  = (int)(tex.width * mContentSize.x / mMediaSize.x);
                int height = (int)(tex.height * mContentSize.y / mMediaSize.y);

                SetPreRenderTextureSizeByShowMode(_CurShowMode, width, height);
            }
        }

        PanoTextureResetMsg msg = new PanoTextureResetMsg();

        PanoTextureResetMsg.Send <PanoTextureResetMsg>(msg);
    }
 void SetPreRenderTextureSizeByShowMode(EPANOMODE showMode, int width, int height)
 {
     if (showMode == EPANOMODE.PANO11)
     {
         PanoManager.Instance.SetPreRenderTextureSize(width * 2, height);
     }
     else if (showMode == EPANOMODE.PANO21)
     {
         PanoManager.Instance.SetPreRenderTextureSize(width, height);
     }
     else if (showMode == EPANOMODE.RAW11)
     {
         PanoManager.Instance.SetPreRenderTextureSize(width, height);
     }
     else if (showMode == EPANOMODE.RAW21)
     {
         PanoManager.Instance.SetPreRenderTextureSize(width, height);
     }
     else if (showMode == EPANOMODE.ONEEYE)
     {
         PanoManager.Instance.SetPreRenderTextureSize(width * 2, height);
     }
 }