//ペアリングをスキップする 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); }
public void reloadGraphScreen() { //タブは初期状態で選択されるように設定 UserDataManager.Scene.InitGraphTabSave(); UserDataManager.Scene.InitGraphDataTabSave(); SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Graph); }
//「同意する」ボタンが押されると呼び出される public void OnAcceptButtonTap() { //規約に同意した事を記録 UserDataManager.State.SaveAcceptTermOfUse(); //利用規約画面は初期起動時以外では表示されないため、常にプロフィール画面に遷移する SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Profile); }
//戻るボタンを押した際に実行される public void OnBackButtonTap() { if (isTapFromSetting()) { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting); } }
//グラフに遷移するためのボタンをタップした際に実行 public void OnToGraphButtonTap() { //最新データに遷移するように設定 UserDataManager.Scene.SaveGraphDate(DateTime.MinValue); //タブは初期状態で選択されるように設定 UserDataManager.Scene.InitGraphTabSave(); UserDataManager.Scene.InitGraphDataTabSave(); SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Graph); }
//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); }
//バー要素を押したときに実行されるイベントを登録する void SetBarElementsEvent() { foreach (BarElement element in BarElementList) { element.toggle.onValueChanged.AddListener(isOn => { if (isCurrentScene(element.scene)) { return; //目的のシーンにいる場合は遷移しないようにする } SceneTransitionManager.LoadLevel(element.scene); }); } }
//「<」ボタンが押された時に実行される //設定画面から遷移してきたときのみ押される public void OnBackButtonTap() { //遷移元シーンに戻る if (IsSettingAllItem()) { //メニューの設定から遷移してきたため、設定画面に戻る SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting); } else { //設定されてない項目がある場合ダイアログを表示する StartCoroutine(TellExistUnSetItem()); } }
//グラフに遷移するボタンをタップした際に呼び出される 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); }
//「完了」ボタンが押された時に呼び出される //初期起動時のプロフィール表示の際にのみ押される public void OnCompleteButtonTap() { //プロフィール設定を完了した事を記録します if (IsSettingAllItem()) { UserDataManager.Setting.Profile.SaveCompleteSetting(); //すべての項目の設定を保存します SaveAllField(); //デバイスのペアリング準備画面に遷移する SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.BTConnectPrepare); } else { //設定されてない項目がある場合ダイアログを表示する StartCoroutine(TellExistUnSetItem()); } }
//端末が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); }
//生年月日のボタンが押されたときに日付ピッカーを表示する 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(); }); }
//ペアリングをスキップする 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); }
//「アラーム設定」ボタンが押されると呼び出される public void OnAlermSettingButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.AlermSetting); }
//戻るボタンをタップした際に呼び出される public void OnBackButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.InitialLunch); }
//「いびきアラーム」ボタンが押されると呼び出される public void OnBackButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.IbikiAlerm); }
//「次へ」ボタンが押されると呼び出される public void OnNextButtonTap() { //Bluetooth接続画面へ遷移 SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.BTConnect); }
//「検知感度」ボタンを押したときに呼び出される public void OnDetectSenseTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DetectSense); }
/// <summary> /// 戻るボタン押下イベントハンドラ /// </summary> public void OnReturnButtonTap() { FlushTempDeviceSetting(); SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Setting); }
/// <summary> /// 動作モードボタン押下イベントハンドラ /// </summary> public void OnActionButtonButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.ActionMode); }
/// <summary> /// 戻るボタン押下イベントハンドラ /// </summary> public void OnReturnButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DeviceSetting); }
/// <summary> /// いびき感度ボタン押下イベントハンドラ /// </summary> public void OnSnoreSensitivityButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SnoreSensitivity); }
//「性別」ボタンが押された時に呼び出される public void OnSexButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Sex); }
//「プロフィール」ボタンが押されると呼び出される public void OnProfileButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.Profile); }
/// <summary> /// 抑制強度ボタン押下イベントハンドラ /// </summary> public void OnSuppressionStrengthButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SuppressionStrength); }
//「鳴動時間」が押されたときに呼び出される public void OnBackButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DelayTime); }
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); }
//「アラーム開始遅延時間」を押したときに呼び出される public void OnAlermDelayTimeTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.DelayTimeSetting); }
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); }
/// <summary> /// 抑制動作最大継続時間ボタン押下イベントハンドラ /// </summary> public void OnSuppressionOperationMaxTimeButtonTap() { SceneTransitionManager.LoadLevel(SceneTransitionManager.LoadScene.SuppressionOperationMaxTime); }