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