miroir de https://git.suyu.dev/suyu/suyu.git
33 lignes
1.2 KiB
Kotlin
33 lignes
1.2 KiB
Kotlin
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
|
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
package dev.suyu.suyu_emu.features.settings.model.view
|
|
|
|
import androidx.annotation.StringRes
|
|
import dev.suyu.suyu_emu.features.input.NativeInput
|
|
import dev.suyu.suyu_emu.features.input.model.AnalogDirection
|
|
import dev.suyu.suyu_emu.features.input.model.InputType
|
|
import dev.suyu.suyu_emu.features.input.model.NativeAnalog
|
|
import dev.suyu.suyu_emu.utils.ParamPackage
|
|
|
|
class AnalogInputSetting(
|
|
override val playerIndex: Int,
|
|
val nativeAnalog: NativeAnalog,
|
|
val analogDirection: AnalogDirection,
|
|
@StringRes titleId: Int = 0,
|
|
titleString: String = ""
|
|
) : InputSetting(titleId, titleString) {
|
|
override val type = TYPE_INPUT
|
|
override val inputType = InputType.Stick
|
|
|
|
override fun getSelectedValue(): String {
|
|
val params = NativeInput.getStickParam(playerIndex, nativeAnalog)
|
|
val analog = analogToText(params, analogDirection.param)
|
|
return getDisplayString(params, analog)
|
|
}
|
|
|
|
override fun setSelectedValue(param: ParamPackage) =
|
|
NativeInput.setStickParam(playerIndex, nativeAnalog, param)
|
|
}
|