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); }
//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); }
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"); } } }
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); } } }