Ejemplo n.º 1
0
 public void SponsorQuest()
 {
     phase = BUILD_QUEST;
     questingPlayers[turn] = false;
     numQuestingPlayers--;
     EndTurnBtn.SetActive(true);
     sponsorPlayer = turn;
     for (int i = 0; i < questCard.numberOfStages; i++)
     {
         StageNames[i].gameObject.SetActive(true);
         qzones[i].gameObject.SetActive(true);
     }
     HandleTextFile.WriteLog((Controler.LogLine += 1) + " Player " + (turn + 1) + " has sponsored. Wait screens stay in place for other players #BNF-4", Controler.SName);
 }
Ejemplo n.º 2
0
 //if state == false : no one sponsored. quest ends
 //if state == true  : quest was sponsored so give rewards and adjust turn order to be player after sponsor
 public void EndQuest(bool state, int turnToSetToAfterQuest)
 {
     SponsorButton.SetActive(true);
     for (int i = 0; i < questCard.numberOfStages; i++)
     {
         StageNames[i].SetActive(false);
         qzones[i].gameObject.SetActive(false);
         FlipDropzone(dzones[i], true);
     }
     boardUI.SetActive(false);
     EndTurnBtn.SetActive(false);
     SponsorButton.SetActive(true);
     if (state)
     {
         RewardPlayers();
         RewardSponsor();
     }
     pop.EnableQuestWinnerPopup(questingPlayers, questCard.numberOfStages, sponsorPlayer, players);
     questingPlayers.Clear();
     ClearQzones();
     ClearDropZones(1);
     gameState = false;
     GameController.ReturnControlFromQuest(false, turnToSetToAfterQuest);
 }
Ejemplo n.º 3
0
    public override void EndTurn()
    {
        if (hands[turn].cards.Count > 12)
        {
            if (PhotonNetwork.player.ID == turn + 1)
            {
                pop.ActivateDiscard(hands[turn].cards.Count - 12);
                HandleTextFile.WriteLog((Controler.LogLine += 1) + " Player Attenmpted to EndTurn with too many cards. Show discard prompt to active player only #BNF-22", Controler.SName);
            }
        }
        else
        {
            if (phase == BUILD_QUEST)
            {
                if (CheckSponsorQuestZones())
                {
                    //sponsor has set up a valid quest
                    for (int i = 0; i < questCard.numberOfStages; i++)
                    {
                        FlipDropzone(qzones[i], true);
                        qzones[i].transform.position     = qzonePlaceholder.transform.position;
                        StageNames[i].transform.position = qzoneTextPlaceHolder.transform.position;
                        Dragable[] qzone = qzones[i].GetComponentsInChildren <Dragable>();
                        foreach (Dragable thing in qzone)
                        {
                            thing.enabled = false;
                        }
                        qzones[i].GetComponent <Dropable>().enabled = false;
                    }
                    EndTurnBtn.SetActive(false);
                    SponsorButton.SetActive(false);
                    phase = JOIN_QUEST;
                    AdvanceTurn();
                    Dragable[] TempHand = hands[turn].GetComponentsInChildren <Dragable>();
                    foreach (Dragable thing in TempHand)
                    {
                        thing.enabled = false;
                    }
                    if (players[turn].GetComponent <AiPlayer>() != null)
                    {
                        AiBehavior("Join");
                    }
                }
            }

            else if (phase == QUESTING)
            {
                remainingPlayerTurnsInAStage--;
                if (remainingPlayerTurnsInAStage == 0)
                {
                    ResolveStage();
                }
                else
                {
                    AdvanceTurn();
                    if (players[turn].GetComponent <AiPlayer>() != null)
                    {
                        AiBehavior("Play");
                    }
                }
            }

            else
            {
                Debug.Log("DEATH. THIS SHOULD NEVER PRINT");
            }
        }
    }
Ejemplo n.º 4
0
    public override void join(bool choice)
    {
        Debug.Log("Join/Decline Pressed");
        if (phase == FIND_SPONSOR)
        {
            if (!choice)
            {
                playersWhoDidntSponsor++;

                if (playersWhoDidntSponsor == players.Count)
                {
                    EndQuest(false, (playerWhoDrewTheCard + 1) % 4);
                }
                else
                {
                    AdvanceTurn();
                    if (players[turn].GetComponent <AiPlayer>() != null)
                    {
                        AiBehavior("Start");
                    }
                }
            }
        }
        if (phase == JOIN_QUEST)
        {
            if (!choice)
            {
                questingPlayers[turn] = false;
                numQuestingPlayers--;
                pop.EnableJoinBlockScreen(turn, false);
            }
            if ((turn + 1) % 4 == sponsorPlayer)
            {
                if (numQuestingPlayers != 0)
                {
                    Debug.Log("phase is now QUESTING");
                    phase = QUESTING;
                    remainingPlayerTurnsInAStage = numQuestingPlayers;
                    EndTurnBtn.SetActive(true);
                    for (int i = 0; i < 4; i++)
                    {
                        if (questingPlayers[i])
                        {
                            hands[i].Draw(ADeck);
                            HandleTextFile.WriteLog((Controler.LogLine += 1) + " Giving one adventure card to Player " + (turn + 1) + " for joining Quest #BNF-7, #BNF-10, #BNF-13", Controler.SName);
                        }
                    }
                    AdvanceTurn();
                    if (players[turn].GetComponent <AiPlayer>() != null)
                    {
                        AiBehavior("Play");
                    }
                }
                else
                {
                    EndQuest(true, (sponsorPlayer + 1) % 4);
                }
            }
            else
            {
                AdvanceTurn();
                if (players[turn].GetComponent <AiPlayer>() != null)
                {
                    AiBehavior("Join");
                }
                HandleTextFile.WriteLog((Controler.LogLine += 1) + " Showing players that Player " + (turn + 1) + " joined the Quest #BNF-8, #BNF-11, #BNF-14", Controler.SName);
                pop.EnableJoinBlockScreen(turn, true);
            }
        }
    }