コード例 #1
0
    //ペアリングをスキップする
    IEnumerator SkipParering()
    {
        //本当にスキップするか確認
        bool isOK     = false;
        bool isCancel = false;

        MessageDialog.Show(
            "本体機器とのペアリングが完了していません。接続をスキップしますか?",
            true,
            true,
            () => {
            isOK = true;
        },
            () => {
            isCancel = true;
        });
        yield return(new WaitUntil(() => isOK || isCancel));

        if (isOK)
        {
            SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Home);
        }
        else
        {
            //スキップしないなら再度はじめから再開?自分のシーンを再読み込み
            SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.BTConnectPrepare);
        }
        yield return(null);
    }
コード例 #2
0
 public void reloadGraphScreen()
 {
     //タブは初期状態で選択されるように設定
     UserDataManager.Scene.InitGraphTabSave();
     UserDataManager.Scene.InitGraphDataTabSave();
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Graph);
 }
コード例 #3
0
 //「同意する」ボタンが押されると呼び出される
 public void OnAcceptButtonTap()
 {
     //規約に同意した事を記録
     UserDataManager.State.SaveAcceptTermOfUse();
     //利用規約画面は初期起動時以外では表示されないため、常にプロフィール画面に遷移する
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Profile);
 }
コード例 #4
0
 //戻るボタンを押した際に実行される
 public void OnBackButtonTap()
 {
     if (isTapFromSetting())
     {
         SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting);
     }
 }
コード例 #5
0
 //グラフに遷移するためのボタンをタップした際に実行
 public void OnToGraphButtonTap()
 {
     //最新データに遷移するように設定
     UserDataManager.Scene.SaveGraphDate(DateTime.MinValue);
     //タブは初期状態で選択されるように設定
     UserDataManager.Scene.InitGraphTabSave();
     UserDataManager.Scene.InitGraphDataTabSave();
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Graph);
 }
コード例 #6
0
    //Only call from child class
    public IEnumerator BackButtonCoroutineForChildClass()
    {
        bool?isSaveSetting = null;

        if (LastDeviceSetting != null && TempDeviceSetting != null)
        {
            if (LastDeviceSetting.ActionMode != TempDeviceSetting.ActionMode ||
                LastDeviceSetting.SnoreSensitivity != TempDeviceSetting.SnoreSensitivity ||
                LastDeviceSetting.SuppressionOperationMaxTime != TempDeviceSetting.SuppressionOperationMaxTime)
            {
                MessageDialog.Show(
                    "設定が保存されていません。保存しますか?",
                    useOK: true,
                    useCancel: true,
                    onOK: () => { isSaveSetting = true; },
                    onCancel: () => { isSaveSetting = false; },
                    positiveItemName: "はい",
                    negativeItemName: "保存せず戻る");
                yield return(new WaitUntil(() => isSaveSetting != null));
            }
        }

        if (isSaveSetting == true)
        {
            bool   isSuccess = false;
            string message   = "設定変更に失敗しました。";

            yield return(StartCoroutine(SendCommandToDeviceCoroutine(
                                            DeviceSetting.CommandCode,
                                            (bool b) => isSuccess = b)));

            if (isSuccess)
            {
                SaveDeviceSetting();
                message = "設定を変更しました。";

                //デバイス設定で変更完了後、自動的にBLE接続を切る
                DisconectDevice();
            }

            bool isOk = false;
            MessageDialog.Show(
                message,
                useOK: true,
                useCancel: false,
                onOK: () => isOk = true);
            yield return(new WaitUntil(() => isOk));
        }
        else
        {
            FlushTempDeviceSetting();
        }

        SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DeviceSetting);
    }
コード例 #7
0
 //バー要素を押したときに実行されるイベントを登録する
 void SetBarElementsEvent()
 {
     foreach (BarElement element in BarElementList)
     {
         element.toggle.onValueChanged.AddListener(isOn => {
             if (isCurrentScene(element.scene))
             {
                 return;                             //目的のシーンにいる場合は遷移しないようにする
             }
             SceneTransitionManager.LoadLevel(element.scene);
         });
     }
 }
コード例 #8
0
 //「<」ボタンが押された時に実行される
 //設定画面から遷移してきたときのみ押される
 public void OnBackButtonTap()
 {
     //遷移元シーンに戻る
     if (IsSettingAllItem())
     {
         //メニューの設定から遷移してきたため、設定画面に戻る
         SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting);
     }
     else
     {
         //設定されてない項目がある場合ダイアログを表示する
         StartCoroutine(TellExistUnSetItem());
     }
 }
コード例 #9
0
    //グラフに遷移するボタンをタップした際に呼び出される
    public void OnToGraphButtonTap()
    {
        //指定の日付のグラフを開くために日付保存
        if (myData == null)
        {
            return;
        }
        DateTime myDate = myData.GetDate();

        UserDataManager.Scene.SaveGraphDate(myDate);
        //タブは初期状態で選択されるように設定
        UserDataManager.Scene.InitGraphTabSave();
        UserDataManager.Scene.InitGraphDataTabSave();
        //グラフ画面に遷移
        SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Graph);
    }
コード例 #10
0
 //「完了」ボタンが押された時に呼び出される
 //初期起動時のプロフィール表示の際にのみ押される
 public void OnCompleteButtonTap()
 {
     //プロフィール設定を完了した事を記録します
     if (IsSettingAllItem())
     {
         UserDataManager.Setting.Profile.SaveCompleteSetting();
         //すべての項目の設定を保存します
         SaveAllField();
         //デバイスのペアリング準備画面に遷移する
         SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.BTConnectPrepare);
     }
     else
     {
         //設定されてない項目がある場合ダイアログを表示する
         StartCoroutine(TellExistUnSetItem());
     }
 }
コード例 #11
0
    //端末がBluetoothLEに対応しているか確認
    IEnumerator CheckBleSupport()
    {
        NativeManager.Instance.Initialize();
        bool isSupport = NativeManager.Instance.BlesupportCheck();

        if (!isSupport)
        {
            //端末がBluetoothに対応していなければ、それを伝えるダイアログを表示
            bool isOK = false;
            MessageDialog.Show("お使いの端末はBluetooth LEをサポートしておりません。", true, false, () => isOK = true);
            yield return(new WaitUntil(() => isOK));

            //ホームに遷移
            SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Home);
        }
        yield return(null);
    }
コード例 #12
0
 //生年月日のボタンが押されたときに日付ピッカーを表示する
 public void OnBirthDayButtonTap(Object button)
 {
             #if UNITY_ANDROID
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Birth);
     return;
             #endif
     DateTime initDate = UserDataManager.Setting.Profile.GetBirthDay();
     NativePicker.Instance.ShowDatePicker(GetScreenRect(button as GameObject), initDate, (long val) => {
         //日付が変更された
         var date = NativePicker.ConvertToDateTime(val);
         //表示を更新する
         string dateTimeString = date.Year.ToString() + "/" + date.Month.ToString() + "/" + date.Day.ToString();
         birthDayText.text     = dateTimeString;
         //日付を生年月日として保存する
         UserDataManager.Setting.Profile.SaveBirthDay(date);
         OnChangeSetting();
     }, () => {
         //日付の変更がキャンセルされた
         //変更を元に戻す
         UserDataManager.Setting.Profile.SaveBirthDay(initDate);
         OnChangeSetting();
     });
 }
コード例 #13
0
    //ペアリングをスキップする
    IEnumerator SkipParering(Action <bool> onResponse = null)
    {
        //本当にスキップするか確認
        bool isOK     = false;
        bool isCancel = false;

        MessageDialog.Show(
            "本体機器とのペアリングが完了していません。接続をスキップしますか?",
            true,
            true,
            () =>
        {
            isOK = true;
        },
            () =>
        {
            isCancel = true;
        });
        yield return(new WaitUntil(() => isOK || isCancel));

        if (isOK)
        {
            //スキップするなら
            //検索を停止
            BluetoothManager.Instance.StopScanning();
            SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Home);
        }
        else
        {
            //スキップしないなら
        }
        if (onResponse != null)
        {
            onResponse(isOK);
        }
        yield return(null);
    }
コード例 #14
0
 //「アラーム設定」ボタンが押されると呼び出される
 public void OnAlermSettingButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.AlermSetting);
 }
コード例 #15
0
 //戻るボタンをタップした際に呼び出される
 public void OnBackButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.InitialLunch);
 }
コード例 #16
0
 //「いびきアラーム」ボタンが押されると呼び出される
 public void OnBackButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.IbikiAlerm);
 }
コード例 #17
0
 //「次へ」ボタンが押されると呼び出される
 public void OnNextButtonTap()
 {
     //Bluetooth接続画面へ遷移
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.BTConnect);
 }
コード例 #18
0
 //「検知感度」ボタンを押したときに呼び出される
 public void OnDetectSenseTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DetectSense);
 }
コード例 #19
0
 /// <summary>
 /// 戻るボタン押下イベントハンドラ
 /// </summary>
 public void OnReturnButtonTap()
 {
     FlushTempDeviceSetting();
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting);
 }
コード例 #20
0
 /// <summary>
 /// 動作モードボタン押下イベントハンドラ
 /// </summary>
 public void OnActionButtonButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.ActionMode);
 }
コード例 #21
0
 /// <summary>
 /// 戻るボタン押下イベントハンドラ
 /// </summary>
 public void OnReturnButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DeviceSetting);
 }
コード例 #22
0
 /// <summary>
 /// いびき感度ボタン押下イベントハンドラ
 /// </summary>
 public void OnSnoreSensitivityButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SnoreSensitivity);
 }
コード例 #23
0
 //「性別」ボタンが押された時に呼び出される
 public void OnSexButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Sex);
 }
コード例 #24
0
 //「プロフィール」ボタンが押されると呼び出される
 public void OnProfileButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Profile);
 }
コード例 #25
0
 /// <summary>
 /// 抑制強度ボタン押下イベントハンドラ
 /// </summary>
 public void OnSuppressionStrengthButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SuppressionStrength);
 }
コード例 #26
0
 //「鳴動時間」が押されたときに呼び出される
 public void OnBackButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DelayTime);
 }
コード例 #27
0
    public IEnumerator BackButtonCoroutineForChildClass()
    {
        if (LastDeviceSetting != null && TempDeviceSetting != null)
        {
            if (LastDeviceSetting.SuppressionStrength != TempDeviceSetting.SuppressionStrength)
            {
                //チェック項目が変更されているが、[変更] が失敗している、もしくは[変更] がタップされていない場合
                //BLE接続 ⇒ 停止コマンド送信 ⇒ 変更コマンド送信 ⇒ BLE切断 ⇒ 前の画面に戻る

                bool?isSaveSetting = null;
                MessageDialog.Show(
                    "設定が保存されていません。保存しますか?",
                    useOK: true,
                    useCancel: true,
                    onOK: () => { isSaveSetting = true; },
                    onCancel: () => { isSaveSetting = false; },
                    positiveItemName: "はい",
                    negativeItemName: "保存せず戻る");
                yield return(new WaitUntil(() => isSaveSetting != null));

                if (isSaveSetting == true)
                {
                    bool isSuccess = false;
                    //停止コマンド送信
                    yield return(StartCoroutine(SendCommandToDeviceCoroutine(
                                                    DeviceSetting.CommandCodeVibrationStop,
                                                    (bool b) => isSuccess = b)));

                    isSuccess = false;
                    string message = "設定変更に失敗しました。";
                    //変更コマンド送信
                    yield return(StartCoroutine(SendCommandToDeviceCoroutine(
                                                    DeviceSetting.CommandCode,
                                                    (bool b) => isSuccess = b)));

                    if (isSuccess)
                    {
                        SaveDeviceSetting();
                        message = "設定を変更しました。";

                        //デバイス設定で変更完了後、自動的にBLE接続を切る
                        DisconectDevice();
                    }

                    bool isOk = false;
                    MessageDialog.Show(
                        message,
                        useOK: true,
                        useCancel: false,
                        onOK: () => isOk = true);
                    yield return(new WaitUntil(() => isOk));
                }
                else
                {
                    FlushTempDeviceSetting();
                }
            }
            else
            {   //チェック項目が変更されていない場合 
                //➡ BLEが接続されている: バイブ停止コマンド送信 ⇒ BLE切断 ⇒ 前の画面に戻る
                //➡ BLEが接続されていない: 前の画面に戻る
                bool isConnecting = UserDataManager.State.isConnectingDevice();
                if (isConnecting)
                {
                    bool isSuccess = false;

                    //停止コマンド送信
                    yield return(StartCoroutine(SendCommandToDeviceCoroutine(
                                                    DeviceSetting.CommandCodeVibrationStop,
                                                    (bool b) => isSuccess = b)));

                    if (isSuccess)
                    {
                        DisconectDevice();
                    }
                }
            }
        }

        SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DeviceSetting);
    }
コード例 #28
0
 //「アラーム開始遅延時間」を押したときに呼び出される
 public void OnAlermDelayTimeTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DelayTimeSetting);
 }
コード例 #29
0
    IEnumerator Flow()
    {
        //パーミッションチェック
        yield return(StartCoroutine(PermissionCheck()));

        //デバイスとの接続状況初期化 アプリ起動時は必ず切断されてる
        UserDataManager.State.SaveDeviceConnectState(false);
        //ロゴ表示
        yield return(StartCoroutine(DispBrandLogo()));

        //初期化
        yield return(StartCoroutine(InitializeFlow()));

        if (IsInitialLunch())
        {
            //初期設定
            //利用規約に同意していなければ、利用規約表示
            if (!IsAcceptPrivacyPolicy())
            {
                PlayerPrefs.SetInt("tapFromSetting", 0);
                SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.TermsOfUse);
                yield break;
            }
            //プロフィール設定をしていなければ、プロフィール表示
            if (!IsDoneProfileSetting())
            {
                SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Profile);
                yield break;
            }
        }
        //データの復元
        if (UserDataManager.State.isDoneDevicePareing())
        {
            //ペアリングが完了してるなら、復元確認を行う
            if (UserDataManager.State.isNessesaryRestore())
            {
                //データの復元が必要であれば、復元処理を行う
                bool isCompleteRestore = false;
                if (UserDataManager.State.GetRestoreDataCount() == 0)
                {
                    //初回復元の場合
                    FtpFunction.RestoreData(this, () => isCompleteRestore = true);
                    yield return(new WaitUntil(() => isCompleteRestore));
                }
                else
                {
                    //復元再開の場合
                    FtpFunction.ReRestoreData(this, () => isCompleteRestore = true);
                    yield return(new WaitUntil(() => isCompleteRestore));
                }
            }
        }
        if (!IsInitialLunch())
        {
            //未アップロードのCsvファイルが存在すれば、アップロードする
            yield return(StartCoroutine(HttpManager.UploadUnsendDatasByHttp()));
        }
        //FTPサーバーにファームウェアの最新バージョンが存在するか確認する
        if (UserDataManager.State.isDoneDevicePareing())    //ペアリング済みであれば
        {
            yield return(StartCoroutine(FarmwareVersionCheckFlow()));
        }
        //ホームへ
        SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Home);
    }
コード例 #30
0
 /// <summary>
 /// 抑制動作最大継続時間ボタン押下イベントハンドラ
 /// </summary>
 public void OnSuppressionOperationMaxTimeButtonTap()
 {
     SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SuppressionOperationMaxTime);
 }