2
respostas

Criando botão com condições

Pessoal estou tentando fazer um jogo onde cada cena é direcionada conforme você escolhe o botão(Ex: botão 1 leva para cena 1, já o botão 2 leva para a cena 2). Mas não estou conseguindo fazer a condição funcionar.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class botaoCenas : MonoBehaviour
{
    public bool comida=false;
    public bool dinheiro=false;
    public bool agua=false;
    public bool informacao=false;

    // Start is called before the first frame update
    void Start()
    {        

    }

    // Update is called once per frame
    void Update()
    {

    }

    public void CenaEntrada1()
    {
        SceneManager.LoadScene("CenaEntrada1");        
    }

    public void CenaEntrada2()
    {
        SceneManager.LoadScene("CenaEntrada2");
    }

    public void CenaEntrada3()
    {
        SceneManager.LoadScene("CenaEntrada3");
    }

    public void MudarCena1()
    {
        SceneManager.LoadScene("Cena1");
    }

    public void MudarCena2()
    {
        SceneManager.LoadScene("Cena2");
    }

    public void MudarCena3()
    {
        SceneManager.LoadScene("Cena3");
    }

    public void MudarCena4()
    {
        SceneManager.LoadScene("Cena4");
    }

    public void MudarCena5()
    {
        SceneManager.LoadScene("Cena5");
        informacao = true;

    }

    public void MudarCena6()
    {
        SceneManager.LoadScene("Cena6");
        dinheiro = true;

    }

    public void MudarCena7()
    {
        SceneManager.LoadScene("Cena7");
        agua = true;

    }

    public void MudarCena8()
    {
        SceneManager.LoadScene("Cena8");
    }

    public void MudarCena9()
    {
        SceneManager.LoadScene("Cena9");
    }

    public void MudarCena10()
    {
        SceneManager.LoadScene("Cena10");
    }

    public void MudarCena11()
    {
        SceneManager.LoadScene("Cena11");
    }

    public void MudarCena12()
    {
        SceneManager.LoadScene("Cena12");
    }

    public void PrimeiraCondicao()
    {
        if (agua == true)
        {

            SceneManager.LoadScene("Cena13");

        }
        else if (informacao == true)
        {
            SceneManager.LoadScene("Cena14");

        }
        else
        {
            SceneManager.LoadScene("Cena15");

        }
    }
}

O que eu queria fazer é a partir da cena 5, cena 6 e cena 7, você receberia informação, dinheiro ou água (respectivamente) e caso uma delas fosse verdadeira na condição "PrimeiraCondicao" iria enviar o jogador para as cenas 13, 14 ou 15. Mas o resultado que eu tenho é sempre ir para a cena 15 independente de passar antes na cena 5 ou 7.

2 respostas

Oi José, tudo bem?

Vi que tu abriu essa dúvida já faz + de 1 mês, queria saber se tu conseguiu ver o que era e se sim compartilha conosco ?

Olá Matheus. Ainda não consegui descobrir. A solução temporária que eu fiz foi criar várias cenas diferentes para cada opção. Está com mais de 100 cenas diferentes agora mas foi o que deu para fazer para não atrapalhar meu projeto.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software