public void HoverEnter(IconeInteligencias icone) { if (!iconeSelecionado) { atualizar(icone); } }
public void Selecao(IconeInteligencias icone) { AudioManager.instance.TocarSFX("clique"); if (!icone.selecionado) // O ícone foi selecionado { // Marca o último ícone selecionado como falso if (iconeSelecionado) { iconeSelecionado.selecionado = false; } iconeSelecionado = icone; // Agora esse ícone será o último selecionado // Posiciona o anel de seleção sobre o botão selecionado anelDeSelecao.enabled = true; var posicaoDoIcone = icone.GetComponent <RectTransform>().anchoredPosition; anelDeSelecao.rectTransform.anchoredPosition = posicaoDoIcone; atualizar(icone); atualizarEstadoDeJogo(icone); } else // Cancela a seleção do ícone caso o jogador clique nele de novo { // Redefine a seleção iconeSelecionado = null; anelDeSelecao.enabled = false; resetar(); resetarEstadoDeJogo(); } icone.selecionado = !icone.selecionado; // Inverte o estado de seleção }
private void atualizarEstadoDeJogo(IconeInteligencias icone) { // Altera o sprite do pequeno guia da página para o sprite do selecionado iconManager.SetIcon(3, icone.GetComponent <Image>().sprite); // Grava o nível de ensino selecionado EstadoDoJogo.Instance.Inteligencias = icone.inteligencia; EstadoDoJogo.Instance.Inteligencias.sprite = icone.GetComponent <Image>().sprite; // Ativar o botão de confirmar agora que há uma seleção botaoConfirmar.interactable = true; }
public bool Selecionar(IconeInteligencias icone) { // Se botão não faz parte do grupo, ignorar if (!iconesInteligencias.Contains(icone)) { return(false); } var iconeQueEstavaSelecionado = IconeSelecionado; if (iconeQueEstavaSelecionado) { // Se o botão que foi selecionado já estava selecionado, ignorar if (iconeQueEstavaSelecionado == icone) { return(true); } iconeQueEstavaSelecionado.Selecionado = false; } icone.Selecionado = true; // Posicionar anel de seleção sobre o botão selecionado AnelDeSelecao.enabled = true; var posicaoDoBotao = icone.GetComponent <RectTransform>().anchoredPosition; AnelDeSelecao.rectTransform.anchoredPosition = posicaoDoBotao; // Avisar observadores qual é o novo botão selecionado QuandoUmElementoForSelecionadoEvent?.Invoke(icone); // Gravar no estado do jogo que este é o par de inteligências selecionado EstadoDoJogo.Instance.InteligenciasSelecionadas = icone.Valor; EstadoDoJogo.Instance.InteligenciasSelecionadas.SpriteGrande = icone.SpriteGrande; return(true); }
private void atualizar(IconeInteligencias icone) { descricaoDoSelecionado.text = icone.inteligencia.descricao; }