public bool Selecionar(IconePersonagem icone) { // Se botão não faz parte do grupo, ignorar if (!iconesPersonagem.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 as características da personagem selecionada var estadoDoJogo = EstadoDoJogo.Instance; estadoDoJogo.SpriteCorpoPersonagem = icone.SpriteCorpo; estadoDoJogo.SpriteCabeloPersonagem = icone.SpriteCabelo; estadoDoJogo.SpriteRoupaPersonagem = icone.SpriteRoupa; estadoDoJogo.SpriteIconePersonagem = icone.ImageComponent.sprite; return(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); }
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); }