Ejemplo n.º 1
0
    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);
    }