コード例 #1
0
    //体重ボタンをタップした際に実行される
    public void OnWeightButtonTap()
    {
        //ピッカーを表示して体重を設定させる
        string title        = "体重設定";
        string unit         = "kg";
        float  maxValue     = 200.9f;
        float  minValue     = 30f;
        float  stepValue    = 0.1f;
        float  currentValue = UserDataManager.Setting.Profile.GetWeight();
        var    vs           = new SelectValueDialogParamSet(
            SelectValueDialogParamSet.DISPLAY_TYPE.Numeric,
            title,
            unit,
            maxValue,
            minValue,
            stepValue,
            currentValue);

        SelectValueDialog.Show(vs, (SelectValueDialog.ButtonItem status, float value, GameObject dialog) => {
            if (status == SelectValueDialog.ButtonItem.OK)
            {
                //結果をテキストに反映
                weightText.text = value.ToString("0.0") + unit;
                //アプリ内保存
                UserDataManager.Setting.Profile.SaveWeight(value);
                OnChangeSetting();
            }
            else
            {
                //なにもしない
            }
        });
    }
コード例 #2
0
    /// <summary>
    /// 抑制開始時間ボタン押下イベントハンドラ
    /// </summary>
    public void OnSuppressionStartTimeButtonTap()
    {
        //ピッカーを表示して抑制開始時間を設定させる
        string title        = "抑制開始時間設定";
        string unit         = "分";
        float  maxValue     = (float)SuppressionStartTime.Max;
        float  minValue     = (float)SuppressionStartTime.Min;
        float  stepValue    = 1;
        float  currentValue = (float)TempDeviceSetting.SuppressionStartTime;
        var    vs           = new SelectValueDialogParamSet(
            SelectValueDialogParamSet.DISPLAY_TYPE.Numeric,
            title,
            unit,
            maxValue,
            minValue,
            stepValue,
            currentValue);

        SelectValueDialog.Show(vs, (SelectValueDialog.ButtonItem status, float value, GameObject dialog) => {
            if (status == SelectValueDialog.ButtonItem.OK)
            {
                //結果をテキストに反映
                suppressionStartTimeText.text = value.ToString("0") + unit;

                //アプリ内保存
                TempDeviceSetting.SuppressionStartTime = (SuppressionStartTime)value;
                SaveDeviceSetting();
            }
            else
            {
                //なにもしない
            }
        });
    }
コード例 #3
0
    /// <summary>
    /// 初期化
    /// </summary>
    /// <param name="valueset">初期値</param>
    public void Init(SelectValueDialogParamSet valueset)
    {
        if (rc == null)
        {
            getController();
        }

        // パラメータチェック
        if (valueset.maxValue < valueset.minValue)
        {
            // 常にminValueがmaxValueより小さくなるように調整
            float temp = valueset.maxValue;
            valueset.maxValue = valueset.minValue;
            valueset.minValue = temp;
        }
        if (valueset.currentValue < valueset.minValue || valueset.currentValue > valueset.maxValue)
        {
            // currentValueが設定範囲外の場合は強制的にminValueを初期値とする
            valueset.currentValue = valueset.minValue;
        }

        // nullを空文字に置き換える
        valueset.valueTitle = valueset.valueTitle ?? "";
        valueset.valueUnit  = valueset.valueUnit ?? "";


        // 通知表示タイプ設定
        if (valueset.displayType == SelectValueDialogParamSet.DISPLAY_TYPE.Time)
        {
            valuetype = ValueType.Time;

            // ルーラー部分初期化
            rc.Init(0, 60 * 24, 10, (float)valueset.currentTime.TotalMinutes, true);
        }
        else
        {
            if (valueset.stepValue < 1)
            {
                valuetype = ValueType.Decimal;
            }
            else
            {
                valuetype = ValueType.Integer;
            }

            // ルーラー部分初期化
            rc.Init(valueset.minValue, valueset.maxValue, valueset.stepValue, valueset.currentValue);
        }

        // クリアボタン有無設定
        //使用しない
        if (valueset.displayType != SelectValueDialogParamSet.DISPLAY_TYPE.NumericClear)
        {
//			transform.Find("Background/Footer/Child1/ClearButton").gameObject.SetActive(false);
        }

        // タイトル初期化
        titleDispText.text = valueset.valueTitle;
        unitDispText.text  = valueset.valueUnit;
    }
コード例 #4
0
    /// <summary>
    /// 数値選択ダイアログを表示します
    /// </summary>
    /// <param name="resultSetField">設定値の出力先</param>
    /// <param name="valueSet">共通入力UI設定値</param>
    /// <param name="onTapOK">OKボタンが選択された際に実行されるコールバック</param>
    /// <param name="onTapCancel">Cancelボタンが選択された際に実行されるコールバック</param>
    public static void Show(SelectValueDialogParamSet valueSet, ValueSelectCallback valueCallBack)
    {
        //ダイアログ作成
        GameObject dialog           = CreateDialog(dialogPath);
        var        dialogController = dialog.GetComponent <SelectValueDialog>();

        // ダイアログに値を設定
        dialogController.Init(valueSet);
        // ダイアログの各ボタンにコールバック登録
        if (valueSet.displayType == SelectValueDialogParamSet.DISPLAY_TYPE.Numeric)
        {
            dialogController.SetCallback(
                delegate {
                valueCallBack(ButtonItem.OK, dialogController.currentValue, dialog);
            },
                delegate
            {
                valueCallBack(ButtonItem.Cancel, dialogController.currentValue, dialog);
            }
                );
        }
        else if (valueSet.displayType == SelectValueDialogParamSet.DISPLAY_TYPE.NumericClear)
        {
            dialogController.SetCallback(
                delegate {
                valueCallBack(ButtonItem.OK, dialogController.currentValue, dialog);
            },
                delegate
            {
                valueCallBack(ButtonItem.Cancel, dialogController.currentValue, dialog);
            },
                delegate
            {
                valueCallBack(ButtonItem.Clear, dialogController.currentValue, dialog);
            }
                );
        }
    }