Olá, boa noite! Recentemente eu estava conversando com um amigo que me contou sobre um projeto na Unity, que usava um controle de Xbox para controlar a personagem do jogo. Ele me disse como ele fez o código e achei bem repetitivo, no mesmo instante pensei em fazer algo assim (C#), aplicando o Chain of Responsibility:
class Input
{
bool verifica_input(){ // retorna o estado do input
}
abstract void realiza {}
}
class botaoA : Input
{
public botaoA(Input proximo_botao)
{
this.proximo_botao = proximo_botao
}
void realiza()
{
if(this.verifica_input())
{
// O que fazer quando o btn A for acionado
}
else
{
// passa para o proximo btn
}
}
}
O código andaria por algo mais ou menos assim, mas gostaria de saber se isso funcionaria e/ou se existe semelhanças de padrões de projetos nas linguagens de programação.
Desde já, obrigado!