@ -2,15 +2,37 @@ package fr.iut.sciencequest.ViewModels
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import fr.iut.sciencequest.ViewModels.UiStates.PenduUIState
import fr.iut.sciencequest.model.buisness.Scientifique.fetchScientifiqueById
import fr.iut.sciencequest.model.buisness.Scientifique.fetchScientifiques
import fr.iut.sciencequest.model.dto.extensions.ToModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
class PenduViewModel : ViewModel ( ) {
var uiState = MutableStateFlow < PenduUIState > ( PenduUIState ( ) )
var uiState = MutableStateFlow ( PenduUIState ( ) )
fun InitPartie ( ) {
Log . d ( " PenduViewModel " , " Un utilisateur initialise une partie " )
viewModelScope . launch {
fetchScientifiqueById ( 1 ) . collect {
var motATrou = " "
for ( chr in it . nom ) {
motATrou += " _ "
}
uiState . value = PenduUIState (
isActionGood = true ,
motATrouver = it . nom ,
motATrou = motATrou
)
}
}
}
// mot : mot à trouver
// motAct : état actuel du mot trouvé par l'utilisateur
public fun PlayAction ( lettre : Char ) {
fun PlayAction ( lettre : Char ) {
Log . d ( " PenduViewModel " , " Un utilisateur joue une action " )
if ( uiState . value . motATrou . contains ( lettre ) ) {
Log . d ( " PenduViewModel " , " L'utilisateur a fait une action invalide " )