예제 #1
0
    //Gerencia o sistema de rodadas
    public void GerenciadorDeRodadas()
    {
        //Identifica qual o estado atual do jogo
        switch (EstadoAtual)
        {
        case (Estados.Inicio):
            Manager.PodeInteragir = false;
            Lista.CarregarListas();                                                         //Carega as listas dos componentes
            IniciarCartas.IniciarBaralho(Informacoes.PanelJogador);                         //Embaralha e inicia as cartas do jogador
            IniciarCartas.IniciarBaralho(Informacoes.PanelOponente);                        //Embaralha e inicia as cartas do oponente
            Verificar.VerificarCartas(Informacoes.PanelJogador, Informacoes.PanelOponente); //Verifica se as cartas do jogador e do oponente são iguais e as embaralha novamente

            resetarRodadas();

            Manager.PodeInteragir = true;
            EstadoMudou           = true;
            Rodada++;                                       //Avança uma rodada
            EstadoAtual = EstadoAtual + Random.Range(1, 3); //Escolhe quem irá começar jogando de forma aleatória
            break;

        case (Estados.VezDoJogador):
            Manager.JogadorPodeInteragir  = true;
            Manager.OponentePodeInteragir = false;
            TextVez = "Vez de: " + Informacoes.NomeJogador;
            break;

        case (Estados.VezDoOponente):
            Manager.JogadorPodeInteragir  = false;
            Manager.OponentePodeInteragir = true;
            TextVez = "Vez de: " + Informacoes.NomeOponente;
            break;

        case (Estados.Fim):
            Manager.JogadorPodeInteragir  = false;
            Manager.OponentePodeInteragir = false;
            Manager.PodeInteragir         = false;

            if (EstadoVitorioso == Estados.VezDoJogador)
            {
                NomeDoVencedor = Informacoes.NomeJogador;

                ProcessadorVitorioso  = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayProcessador>().processador;
                MemoriaVitorioso      = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayMemoria>().memoria;
                PlacaMaeVitorioso     = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayPlacaMae>().placaMae;
                PlacaDeVideoVitorioso = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;
                DiscoVitorioso        = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayDisco>().disco;
                FonteVitorioso        = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayFonte>().fonte;
                GabineteVitorioso     = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayGabinete>().gabinete;
            }
            else if (EstadoVitorioso == Estados.VezDoOponente)
            {
                NomeDoVencedor = Informacoes.NomeOponente;

                ProcessadorVitorioso  = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayProcessador>().processador;
                MemoriaVitorioso      = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayMemoria>().memoria;
                PlacaMaeVitorioso     = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayPlacaMae>().placaMae;
                PlacaDeVideoVitorioso = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;
                DiscoVitorioso        = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayDisco>().disco;
                FonteVitorioso        = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayFonte>().fonte;
                GabineteVitorioso     = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayGabinete>().gabinete;
            }

            StartCoroutine(CarregarATelaFinal());

            break;
        }
    }