package iut.android.pierrepierre

import MyViewHolder
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.View.OnClickListener
import android.view.ViewGroup
import android.widget.*
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import iut.android.pierrepierre.model.User


class MyGridAdapter(var user : User, var MoleList: Array<Mole>, var progressBar : ProgressBar, var scoreDisplay : TextView) : RecyclerView.Adapter<MyViewHolder>(){

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        return MyViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.moleitem, parent, false))
    }

    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        //TODO Implémenter une coroutine pour actualiser l'état des pdp des taupes ?
        holder.img.setImageResource(MoleList[position].pdp)

        holder.img.setOnClickListener { // Action à exécuter lors du clic sur l'image
            if (!MoleList[position].isDead()){
                MoleList[position].takeHit()
                progressBar.progress = progressBar.progress + 10 //Augmentation de la progresse bar
                user.score += 100

                //TODO Coroutine ici : (?) ==>listener avec les moles observable
                scoreDisplay.text = user.score.toString()
                holder.img.setImageResource(MoleList[position].pdp)
            }
        }
    }

    override fun getItemCount() = MoleList.size


    fun updateScoreDisplay(){
        scoreDisplay.text = user.score.toString()
    }

}