Пример #1
0
 void CreateEvents()
 {
     guardEvent = new Eventd(GetPlayerNames(), "Who'll do guard today?", true);
     nextEvents.Push(guardEvent);
     if (gameController.food < gameController.players.Length && gameController.food > 0)
     {
         eatEvent = new Eventd(GetPlayerNames(), "Who should eat today?", true);
         nextEvents.Push(eatEvent);
     }
     nextEvents.Push(desicionEvent);
 }
Пример #2
0
 void Start()
 {
     //definitions
     gridObj        = GameObject.Find("Grid");
     HUD            = GameObject.Find("HUD");
     gameController = GameObject.Find("GameController").GetComponent <GameController>();
     desicionEvent  = new Eventd(posibleEvents, "Do you want to do something?", false);
     nextEvents     = new Stack <Eventd>();
     deletedPlayers = new List <int>();
     reports        = new Stack <string>();
     CreateEvents();
     //if(gameController.sceneType == GameController.SCENE_TYPE.BreakRoom)CreateEvents();
 }
Пример #3
0
    void StartEvent(Eventd eventd)
    {
        questionPanel.transform.GetChild(0).GetComponent <Text>().text = eventd.question;
        questionPanel.SetActive(true);
        if (eventd.itIsWithPlayers)
        {
            eventd.alternatives = GetPlayerNames();
        }
        for (int i = 0; i < eventd.alternatives.Length; i++)
        {
            GameObject newBtn = Instantiate(btnOption);
            int        index  = i;
            newBtn.transform.SetParent(gridObj.transform, false);

            newBtn.transform.GetChild(0).GetComponent <Text>().text = eventd.alternatives[i];
            newBtn.GetComponent <Button>().onClick.AddListener(() => MakeDesicion(index, eventd.alternatives, eventd.question));
        }
    }
Пример #4
0
    void MakeDesicion(int index, string[] alternatives, string question)
    {
        int[] answers = new int[gameController.players.Length];
        answers[0] = index;
        questionPanel.SetActive(false);
        foreach (Transform child in gridObj.transform)
        {
            GameObject.Destroy(child.gameObject);
        }
        for (int i = 1; i < gameController.players.Length; i++)
        {
            int des = gameController.players[i].GetComponent <Player>().Question(alternatives, question);
            answers[i] = des;
        }
        for (int i = 0; i < answers.Length; i++)
        {
            DialogPanels.transform.GetChild(i).gameObject.SetActive(true);
            DialogPanels.transform.GetChild(i).transform.GetChild(0).GetComponent <Text>().text = alternatives[answers[i]];
        }
        questionPanel.SetActive(false);
        //gridObj.SetActive(false);
        if (question == "Do you want to do something?")
        {
            resultDialogue = "";
            kick           = true;
            gameboy        = true;
            int answerCount = 0;
            for (int i = 0; i < answers.Length; i++)
            {
                switch (answers[i])
                {
                case 0:
                    if (kick)
                    {
                        if (answerCount > 0)
                        {
                            resultDialogue += " y ";
                        }
                        answerCount++;
                        resultDialogue += "someone must be kicked from the party";
                        print("se va a tener que echar a alguien de la party");
                        kickEvent = new Eventd(GetPlayerNames(), "Choose who have to left the party", true);
                        kick      = false;
                        nextEvents.Push(kickEvent);
                    }

                    break;

                case 1:
                    if (gameboy)
                    {
                        resultDialogue += "it will be decided who'll have the console";
                        print("se va a decidir quien tendra la consola");
                        whoPlaysEvent = new Eventd(GetPlayerNames(), "Choose who will have the console", false);
                        gameboy       = false;
                        nextEvents.Push(whoPlaysEvent);
                    }
                    break;
                }
            }
        }
        if (question == "Choose who have to left the party")
        {
            int[] resultCount = OrderByFrequency(answers);
            resultDialogue = gameController.players[resultCount[0]].GetComponent <Player>().name + " have to left the party this night :c";
            mes            = gameController.players[resultCount[0]].GetComponent <Player>().name + " left the party";
            reports.Push(mes);
            deletedPlayers.Add(resultCount[0]);
        }
        if (question == "Choose who will have the console")
        {
            int[] resultCount = OrderByFrequency(answers);
            resultDialogue = gameController.players[resultCount[0]].GetComponent <Player>().name + " will play with the console today";
            for (int i = 0; i < gameController.players.Length; i++)
            {
                gameController.players[i].GetComponent <Player>().console = false;
            }
            gameController.players[resultCount[0]].GetComponent <Player>().console = true;
        }
        if (question == "Who'll do guard today?")
        {
            int[] resultCount = OrderByFrequency(answers);
            resultDialogue = gameController.players[resultCount[0]].GetComponent <Player>().name + " will do guard today";
            for (int i = 0; i < gameController.players.Length; i++)
            {
                gameController.players[i].GetComponent <Player>().guard = false;
            }
            gameController.players[resultCount[0]].GetComponent <Player>().guard = true;
        }
        if (question == "Who should eat today?")
        {
            int[] resultCount = OrderByFrequency(answers);
            resultDialogue = "";

            for (int i = 0; i < gameController.players.Length; i++)
            {
                gameController.players[i].GetComponent <Player>().eats = false;
            }
            for (int i = 0; i < gameController.food; i++)
            {
                gameController.players[resultCount[i]].GetComponent <Player>().eats = true;
                resultDialogue += gameController.players[resultCount[i]].GetComponent <Player>().name + " ";
            }
            resultDialogue += "will eat today";
        }

        result = true;
    }