package com.example.tcg;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class LojaActivity extends AppCompatActivity {

    private TextView ouroText, limiteText, sorteText;
    private Button comprarLimiteBtn, comprarSorteBtn, voltarBtn;

    private int precoLimite;
    private int precoSorte;

    private JogadorManager jogador;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loja);

        jogador = new JogadorManager(this);

        ouroText = findViewById(R.id.ouroText);
        limiteText = findViewById(R.id.limiteText);
        sorteText = findViewById(R.id.sorteText);
        comprarLimiteBtn = findViewById(R.id.comprarLimiteBtn);
        comprarSorteBtn = findViewById(R.id.comprarSorteBtn);
        voltarBtn = findViewById(R.id.voltarBtn);

        // Recupera preços salvos
        precoLimite = jogador.getPrecoLimite();
        precoSorte = jogador.getPrecoSorte();

        atualizarUI();

        comprarLimiteBtn.setOnClickListener(v -> comprarLimite());
        comprarSorteBtn.setOnClickListener(v -> comprarSorte());
        voltarBtn.setOnClickListener(v -> {
            startActivity(new Intent(LojaActivity.this, ColecaoActivity.class));
            finish();
        });
    }

    private void atualizarUI() {
        ouroText.setText("Ouro: " + JogadorManager.formatarOuro(jogador.getOuro()));
        limiteText.setText("Limite de cartas: " + jogador.getLimiteCartas());
        sorteText.setText("Multiplicador de sorte: x" + jogador.getMultiplicadorSorte());

        comprarLimiteBtn.setText("Aumentar limite (" + precoLimite + " ouro)");

        if (jogador.getMultiplicadorSorte() >= 3) {
            comprarSorteBtn.setEnabled(false);
            comprarSorteBtn.setText("A tua sorte já está no nível máximo!");
        } else {
            comprarSorteBtn.setEnabled(true);
            comprarSorteBtn.setText("Aumentar sorte (" + precoSorte + " ouro)");
        }
    }

    private void comprarLimite() {
        if (jogador.getOuro() >= precoLimite) {
            jogador.removerOuro(precoLimite);
            jogador.aumentarLimiteCartas();
            precoLimite += 100;
            jogador.salvarPrecoLimite(precoLimite);
            Toast.makeText(this, "Limite aumentado!", Toast.LENGTH_SHORT).show();
            atualizarUI();
        } else {
            Toast.makeText(this, "Ouro insuficiente!", Toast.LENGTH_SHORT).show();
        }
    }

    private void comprarSorte() {
        if (jogador.getMultiplicadorSorte() >= 3) {
            Toast.makeText(this, "Sorte já no máximo!", Toast.LENGTH_SHORT).show();
            atualizarUI();
            return;
        }
        if (jogador.getOuro() >= precoSorte) {
            jogador.removerOuro(precoSorte);
            jogador.aumentarMultiplicadorSorte();
            precoSorte += 200;
            jogador.salvarPrecoSorte(precoSorte);
            Toast.makeText(this, "Multiplicador aumentado!", Toast.LENGTH_SHORT).show();
            atualizarUI();
        } else {
            Toast.makeText(this, "Ouro insuficiente!", Toast.LENGTH_SHORT).show();
        }
    }
}



