CARAAAAAMBAAAAAAA QUE SENSACIONAL FICOU SEU PROJETO BLINK!!!
(inclusive ja ouviu Blink 182? muito bom acho que vai gostar)
Fiz até um GIF pros curiosos poderem olhar sem baixar:
Então, sobre um limitador de pontos de habilidade:
Para implementar algo desse tipo você teria que ter uma variável que armazena a quantidade de pontos para serem distribuídos.
int pontos = 50;
Porém esses pontos tem que ficar disponível para todas as habilidades interagirem E ela tem que ser uma variável global para todas as habilidades, para isso podemos usar o static dentro da classe Habilidade ( especificamente na State, que armazena os estados )
class _HabilidadeState extends State<Habilidade> {
...
static int pontos = 15;
...
}
lembrando que static indica que o valor vai ser o mesmo para todas as instancias de habilidade que você criar, então se ela for alterada, todas as outras habilidades saberão!
Agora nós precisamos informar as habilidades de que elas vão pegar esse recurso de pontos, e sempre que pegarem esse recurso vai diminuir, e caso o recurso seja 0, não da pra upar de nível.
ElevatedButton(
onPressed: () {
setState(() {
(widget.level == 10)
? widget.level = 0
: widget.level++;
(pontos == 0) ? widget.level-- : pontos--;
print(pontos);
Ficou assim:
O.B.S.: Gostei muito da forma como você fez seu código com operadores ternários para widgets e decisões, muito elegante, ta de parabens! Posso mostrar esse projeto pro meu time? Eles vão AMAR