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); } }