public void HoverEnter(IconeAreaDeConhecimento icone) { if (!iconeSelecionado) { atualizar(icone); } }
public void Selecao(IconeAreaDeConhecimento 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(IconeAreaDeConhecimento icone) { // Altera o sprite do pequeno guia da página para o sprite do selecionado iconManager.SetIcon(2, icone.GetComponent <Image>().sprite); // Grava a área de conhecimento escolhida EstadoDoJogo.Instance.AreaDeConhecimento = icone.areaDeConhecimento; EstadoDoJogo.Instance.AreaDeConhecimento.sprite = icone.GetComponent <Image>().sprite; // Ativar o botão de confirmar agora que há uma seleção botaoConfirmar.interactable = true; }
public bool Selecionar(IconeAreaDeConhecimento botao) { // Se botão não faz parte do grupo, ignorar if (!iconesAreaDeConhecimento.Contains(botao)) { return(false); } var botaoQueEstavaSelecionado = iconeSelecionado; if (botaoQueEstavaSelecionado) { // Se o botão que foi selecionado já estava selecionado, ignorar if (botaoQueEstavaSelecionado == botao) { return(true); } botaoQueEstavaSelecionado.Selecionado = false; } botao.Selecionado = true; // Posicionar anel de seleção sobre o botão selecionado AnelDeSelecao.enabled = true; var posicaoDoBotao = botao.GetComponent <RectTransform>().anchoredPosition; AnelDeSelecao.rectTransform.anchoredPosition = posicaoDoBotao; // Avisar observadores qual é o novo botão selecionado QuandoUmElementoForSelecionadoEvent?.Invoke(botao); // Gravar no estado do jogo que este é o nível de ensino selecionado EstadoDoJogo.Instance.AreaDeConhecimentoSelecionada = botao.Valor; EstadoDoJogo.Instance.AreaDeConhecimentoSelecionada.Sprite = botao.ImageComponent.sprite; return(true); }
protected override void OnEnable() { fundo.sprite = spriteFundo; iconManager.ShowIcon(0); iconManager.ShowIcon(1); iconManager.ShowIcon(2); iconManager.ShowIcon(3); // Mudar headline com a educação infantil if (iconeSelecionado) { iconManager.SetIcon(2, iconeSelecionado.GetComponent <Image>().sprite); } // Atualiza qual grupo deve ser exibido no momento if (ultimoGrupoAtivo) { ultimoGrupoAtivo.SetActive(false); } switch (EstadoDoJogo.Instance.NivelDeEnsino.valor) { case 0: iconesInfantil.SetActive(true); titulo.text = "Campos de Experiência"; if (ultimoGrupoAtivo != iconesInfantil) { iconeSelecionado = null; anelDeSelecao.enabled = false; resetar(); resetarEstadoDeJogo(); } ultimoGrupoAtivo = iconesInfantil; break; case 1: iconesFundamental.SetActive(true); titulo.text = "Áreas de Conhecimento"; if (ultimoGrupoAtivo != iconesFundamental) { iconeSelecionado = null; anelDeSelecao.enabled = false; resetar(); resetarEstadoDeJogo(); } ultimoGrupoAtivo = iconesFundamental; break; case 2: iconesMedio.SetActive(true); titulo.text = "Áreas de Conhecimento"; if (ultimoGrupoAtivo != iconesMedio) { iconeSelecionado = null; anelDeSelecao.enabled = false; resetar(); resetarEstadoDeJogo(); } ultimoGrupoAtivo = iconesMedio; break; case 3: iconesSuperior.SetActive(true); titulo.text = "Áreas de Conhecimento"; if (ultimoGrupoAtivo != iconesSuperior) { iconeSelecionado = null; anelDeSelecao.enabled = false; resetar(); resetarEstadoDeJogo(); } ultimoGrupoAtivo = iconesSuperior; break; default: break; } }
private void atualizar(IconeAreaDeConhecimento icone) { description.text = icone.areaDeConhecimento.descricao; }