IEnumerator Start() { //의자 포트번호 따오기 xPort = Sym4DEmulator.Sym4D_X_Find(); yield return(ws); //팬 포트번호 따오기 wPort = Sym4DEmulator.Sym4D_W_Find(); yield return(ws); //의자 Roll, Pitch 최대각도 설정 XConfigCheck = Sym4DEmulator.Sym4D_X_SetConfig(100, 100); yield return(ws); //팬 최대회전수 (최대 100) WConfigCheck = Sym4DEmulator.Sym4D_W_SetConfig(100); yield return(ws); //정상적으로 모두 실행되었으면 코루틴 종료 if (xPort != 0 && wPort != 0 && XConfigCheck == true && WConfigCheck == true) { print("Sym4D Setting Complete."); yield break; } }
IEnumerator SetChairAngle() { Sym4DEmulator.Sym4D_X_StartContents(xPort); yield return(ws); Sym4DEmulator.Sym4D_X_SendMosionData(rollInt, pitchInt); yield return(ws); yield return(SetChairAngle()); }
IEnumerator SetMotion2() { int mRoll = int.Parse(roll.text); int mPitch = int.Parse(pitch.text); int mSpeed = int.Parse(speed.text); Sym4DEmulator.Sym4D_X_StartContents(xPort); yield return(ws); Sym4DEmulator.Sym4D_X_SendMosionData2(mRoll, mPitch, mSpeed); yield return(ws); }
IEnumerator SetMotion() { int mRoll = int.Parse(roll.text); int mPitch = int.Parse(pitch.text); //동작시작 Sym4DEmulator.Sym4D_X_StartContents(xPort); yield return(ws); //동작명령 Sym4DEmulator.Sym4D_X_SendMosionData(mRoll, mPitch); yield return(ws); }
IEnumerator SetPanPower() { Sym4DEmulator.Sym4D_W_StartContents(wPort); yield return(new WaitForSeconds(0.5f)); isWind = !isWind; if (isWind) { Sym4DEmulator.Sym4D_W_SendMosionData((int)_currForce); } yield return(ws); yield return(SetPanPower()); }
IEnumerator SetWind() { Sym4DEmulator.Sym4D_W_StartContents(wPort); yield return(new WaitForSeconds(0.5f)); isWind = !isWind; if (isWind) { Sym4DEmulator.Sym4D_W_SendMosionData(100); } else { Sym4DEmulator.Sym4D_W_SendMosionData(0); Sym4DEmulator.Sym4D_W_EndContents(); } }
/* * Yaw Y * Roll Z * Pitch x */ IEnumerator StartTest() { int _roll = int.Parse(roll.text); int _pitch = int.Parse(pitch.text); //의자 동작 중지 Sym4DEmulator.Sym4D_X_EndContents(); yield return(ws); //의자 동작 데이터 전송 Sym4DEmulator.Sym4D_X_SendMosionData(_roll, _pitch); yield return(ws); //의자 동작 준비 Sym4DEmulator.Sym4D_X_StartContents(xPort); yield return(ws); }
IEnumerator Start() { roll.text = "0"; pitch.text = "0"; speed.text = "0"; //시트 포트번호 추출 xPort = Sym4DEmulator.Sym4D_X_Find(); portNo.text = xPort.ToString(); yield return(ws); //펜 포트번호 추출 wPort = Sym4DEmulator.Sym4D_W_Find(); yield return(ws); //시트의 Roll, Pitch의 최대 회전각도(10도, 10도) Sym4DEmulator.Sym4D_X_SetConfig(100, 100); yield return(ws); //펜의 최대회전수 (Max 100) Sym4DEmulator.Sym4D_W_SetConfig(100); yield return(ws); }
IEnumerator Start() { //필드 초기화 roll.text = "0"; pitch.text = "0"; windSpeed.text = "10"; yield return(ws); //의자의 포트번호 추출 xPort = Sym4DEmulator.Sym4D_X_Find(); portNo.text = xPort.ToString(); yield return(ws); //팬의 포트번호 추출 wPort = Sym4DEmulator.Sym4D_W_Find(); //회전 각도를 설정 (roll -10 ~ +10, pith -10 ~ +10) Sym4DEmulator.Sym4D_X_SetConfig(100, 100); //팬속도 설정 (0 ~ 100) Sym4DEmulator.Sym4D_W_SetConfig(100); }
//오브젝트 삭제될 때 포트 접속 종료 (오브젝트 기준인지 스크립트 기준인지 확인해봐야 함) private void OnDestroy() { Sym4DEmulator.Sym4D_X_EndContents(); Sym4DEmulator.Sym4D_W_EndContents(); }
//펜 초기화(동작 정지) public void OnPenInit() { Sym4DEmulator.Sym4D_W_EndContents(); }
//시트 초기화(동작 정지) public void OnBodyInit() { Sym4DEmulator.Sym4D_X_EndContents(); }