private void DebateEnd()
 {
     Debug.Log("Count Cicles = " + countCicles);
     DebateSimulation();
     if (countDebateTurns == 1)              // Se volta pro início do debate
     {
         Debug.Log("Volta pro início");
         state = STATE.ChooseOpponent;
         uiResources.gameObject.SetActive(false);
         ChooseOpponent();
         //ReturnControl ();
     }
     else                    // Se volta pros eventos (ou fim)
     {
         countCicles++;
         if (countCicles < MainCicles)               // Se o loop do jogo ainda não acabou
         {
             Debug.Log("Volta pros eventos");
             countDebateTurns = 0;
             state            = STATE.Event;
             // Grafico
             UpdateIntentionsLists();
             votesChart.SetAndMakeTransition(StartNewCicle, "chartCicleEnd");
         }
         else
         {
             // Grafico
             UpdateIntentionsLists();
             votesChart.SetAndMakeTransition(EndGame, "chartCicleEnd");
             // end game
         }
     }
 }
    private void EndGame()
    {
        float maxVotes = 0;

        foreach (Candidate cand in candidates)
        {
            if (cand.voteIntention > maxVotes)
            {
                maxVotes         = cand.voteIntention;
                leadingCandidate = cand;
            }
        }
        if (leadingCandidate == candidates[0])           // player won
        {
            gameOver.SetAndMakeTransition(BackToMainMenu, "EndGame");
        }
        else             // player lost
        {
            gameOver.SetAndMakeTransition(BackToMainMenu, "EndGame");
        }
    }
    //Método para receber o controle de volta para o Game Manager
    public void ReturnControl()
    {
        switch (state)
        {
        case STATE.ChooseCandidate:
            CandidateChosen();
            state = STATE.ChooseStaff;
            Debug.Log("ChooseStaff()");
            ChooseStaff();
            break;

        case STATE.ChooseStaff:
            StaffChosen();
            state = STATE.Event;
            Debug.Log("ah, mlk");
            uiResources.SetResourcesActive();
            if (countEvents == -1)
            {
                countEvents = 0;
                Debug.Log("First Event");
                ChooseEvent(eventsData.GetRange(0, 1));  // Pega o primeiro evento na lista (tutorial)
                eventsData.RemoveAt(0);                  // Remove o primeiro, para evitar repetição
            }
            else
            {
                ChooseEvent(eventsData);
            }
            break;

        case STATE.Event:
            Debug.Log("countEvents: " + countEvents);
            List <Event_Data> ev = EventAnswerChosen();
            if (ev == null)
            {
                countEvents++;
                ev = eventsData;
            }
            if (countEvents >= eventsPerCicle)
            {
                countEvents = 0;
                state       = STATE.Proposal;
                Debug.Log("ChooseProposal");
                ChooseProposal();
            }
            else
            {
                ChooseEvent(ev);
            }
            break;

        case STATE.Proposal:
            ProposalChosen();
            state = STATE.ChooseOpponent;
            Debug.Log("ChooseOpponent");
            uiResources.gameObject.SetActive(false);
            debateQuestion.SetAndMakeTransition(ChooseOpponent, "screen_debate_start");
            break;

        case STATE.ChooseOpponent:
            OpponentChosen();
            state = STATE.DebateQuestion;
            Debug.Log("AskQuestion");
            debateQuestion.SetAndMakeTransition(AskQuestion, "Screen Debate");
            break;

        case STATE.DebateQuestion:
            state = STATE.DebateReply;
            QuestionAsked();
            Debug.Log("DebateReply");
            break;

        case STATE.DebateReply:
            state = STATE.DebateRejoinder;
            ReplyQuestion();
            break;

        case STATE.DebateRejoinder:
            Debug.Log("DebateRejoinder");
            state = STATE.DebateEnd;
            RejoinderQuestion();
            break;

        case STATE.DebateEnd:
            Debug.Log("DebateEnd");
            DebateEnd();
            break;

            /*
             * case STATE.DebateRejoinder:
             * RejoinderQuestion ();
             * ShowRejoinder ();
             * // ?? Simulação dos outros candidatos debatendo
             * state = STATE.DebateResults;
             * ShowResults ();
             * break;
             */
        }

        /*Debate Question
         *  Player escolhe pergunta ou IA escolhe pergunta
         *
         *
         */
    }