//播放录屏 private void RecordPlaying(float currentTime) { if (tempRis == null) { return; } if (recordUpdate >= tempRis.Count) { recordPlay = false; tmpElement = null; return; } if (tmpElement == null) { tmpElement = tempRis[recordUpdate]; } while (currentTime > tmpElement.slideTime) { try { DoRecordAction(tmpElement); } catch (Exception e) { Debug.Log(tmpElement.ra); Debug.Log(tmpElement.raParams); Debug.Log(e.Message); Debug.Log(e.StackTrace); } //前进至下一次记录 recordUpdate++; if (recordUpdate == tempRis.Count) { recordPlay = false; break; } tmpElement = tempRis[recordUpdate]; } }
/// <summary> /// 回放录制的动作 /// </summary> /// <param name="item"></param> public void DoRecordAction(RecordItem item) { switch (item.ra) { case RecordAction.camPos: MainCam.transform.position = PublicTools.Str2Vector3(item.raParams); break; case RecordAction.cpRot: emptyBox.transform.rotation = Quaternion.Euler(PublicTools.Str2Vector3(item.raParams)); break; case RecordAction.cancleSelect: SceneModels.instance.CancleSelect(); break; case RecordAction.ChangeLayer: GameObject.Find("RightMenuManager").transform.Find(item.raParams).GetComponent <RightMenuItem>().ChangeLayer(); break; case RecordAction.Choose: SceneModels.instance.ChooseModelByName(item.raParams); break; case RecordAction.Fade: SceneModels.instance.Fade(); break; case RecordAction.FadeOthers: SceneModels.instance.FadeOthers(); break; case RecordAction.Hide: SceneModels.instance.Hide(); break; case RecordAction.HideOthers: SceneModels.instance.HideOthers(); break; case RecordAction.reset: Camera.main.GetComponent <XT_AllButton>().ResetBtn.GetComponent <Button>().onClick.Invoke(); break; case RecordAction.Show: if (item.raParams != null && item.raParams != "") { SceneModels.instance.Show(item.raParams); } else { SceneModels.instance.Show(); } break; case RecordAction.ShowAll: SceneModels.instance.ShowAll(); break; case RecordAction.ShowOthers: SceneModels.instance.ShowOthers(); break; case RecordAction.Splite: SceneModels.instance.SplitModel(item.raParams); break; case RecordAction.toggleMs: if (item.raParams.ToLower() == "true") { SceneModels.instance.set_Multi_Selection(true); } else { SceneModels.instance.set_Multi_Selection(false); } break; case RecordAction.toggleSp: if (item.raParams.ToLower() == "true") { SceneModels.instance.set_Split_mode(true); } else { SceneModels.instance.set_Split_mode(false); } break; default: break; } }