/// <summary> /// Tworzy QuestionPopup z dwoma odpowiedziami: "Tak" i "Nie" /// </summary> /// <param name="question">Pytanie, które ma zostać wyświetlone użytkownikowi</param> /// <param name="yesAction">Akcja wywoływana po wciśnięciu przycisku "Tak"</param> /// <param name="noAction">Akcja wywoływana po wciśnięciu przycisku "Nie"</param> /// <returns>QuestionPopup z odpowiedziami "Tak" "Nie"</returns> public static QuestionPopup CreateYesNoDialog(string question, PopupAction yesAction = null, PopupAction noAction = null) { QuestionPopup popup = new QuestionPopup(question); yesAction += delegate(Popup source) { source.onClose = null; Functionality.Destroy().Invoke(source); }; popup.onClose += noAction; popup.AddButton(SettingsController.instance.languageController.GetWord("YES"), yesAction); popup.AddButton(SettingsController.instance.languageController.GetWord("NO"), Functionality.Destroy()); return(popup); }
/// <summary> /// Tworzy QuestionPopup z odpowiedzią "OK" /// </summary> /// <param name="question">Pytanie, które ma zostać wyświetlone użytkownikowi</param> /// <param name="okAction">Akcja wywoływana po naciśnięciu przycisku "Ok"</param> /// <returns>>QuestionPopup z odpowiedzią "Ok"</returns> public static QuestionPopup CreateOkDialog(string question, PopupAction okAction = null) { QuestionPopup popup = new QuestionPopup(question); popup.AddButton("OK", Functionality.Destroy()); popup.onClose += okAction; return(popup); }
/// <summary> /// Funckja sterująca przepływem aukcji /// </summary> private void AuctionFlow(string playerName, int placeId, string bidder, float bid, string passPlayerName) { LanguageController lang = SettingsController.instance.languageController; //1 linijka: Licytacja //2 linijka: nazwa budynku string auctionString = lang.GetWord("AUCTION") + "\n" + GameplayController.instance.board.GetField(placeId).GetFieldName() + "\n"; if (bidders.Contains(bidder)) //Jeżeli bidders posiada biddera aka czy ktoś pobił { // Ostatni gracz jest lokalny: 3 linijka: Ty podbiłeś if (GameplayController.instance.session.FindPlayer(bidder).NetworkPlayer.IsLocal) { auctionString += lang.GetWord("YOU_RAISED"); } // Ostatni gracz nie jest lokalny 3 linijka: Gracz <nick> podbił else { auctionString += lang.GetWord("PLAYER") + " " + bidder + " " + lang.GetWord("RAISED"); } } else if (playerName != passPlayerName && passPlayerName != "") //Jeżeli ktoś spasował, ponieważ sprawdza czy osoba pasująca nie jest startującym aukcji { //Jeżeli pasujący gracz jest lokalny 3 linijka: Ty spasowałeś if (GameplayController.instance.session.FindPlayer(passPlayerName).NetworkPlayer.IsLocal) { auctionString += lang.GetWord("YOU_PASSED"); } //Jeżeli pasujący gracz nie jest lokalny 3 linijka: Gracz <nick> spasował else { auctionString += lang.GetWord("PLAYER") + " " + passPlayerName + " " + lang.GetWord("PASSED"); } } else if (playerName == passPlayerName) //Jeżeli gracz który spasował, jest graczem który zaczął akcję, aka pierwsze wywołanie eventu licytacji { //Jeżeli gracz jest lokalny 3 linijka : Zacząłeś aukcję if (GameplayController.instance.session.FindPlayer(playerName).NetworkPlayer.IsLocal) { auctionString += lang.GetWord("YOU_STARTED_AUCTION"); } //Jeżeli gracz nie jest lokalny 3 linijka: gracz <nick> rozpoczął aukcję else { auctionString += lang.GetWord("PLAYER") + " " + playerName + " " + lang.GetWord("STARTED_AUCTION"); } } //4 linijka: Obecna stawka: <bid> auctionString += "\n" + lang.GetWord("AUCTION_CURRENT_BID") + bid; auctionPopup = new QuestionPopup(auctionString); if (!GameplayController.instance.session.FindPlayer(playerName).NetworkPlayer.IsLocal&& bidders.Contains(GameplayController.instance.session.localPlayer.GetName())) { //Wersja dla osób, które mogą licytować string passString = lang.GetWord("PASS"); string raiseString = lang.GetWord("RAISE"); Popup.PopupAction passAction = delegate(Popup source) { source.onClose = null; EventManager.instance.SendOnAuction(playerName, placeId, "", bid, GameplayController.instance.session.localPlayer.GetName()); }; Popup.PopupAction raiseAction = delegate(Popup source) { source.onClose = null; if (!raisers.Contains(GameplayController.instance.session.localPlayer.GetName())) { raisers.Add(GameplayController.instance.session.localPlayer.GetName()); } EventManager.instance.SendOnAuction(playerName, placeId, GameplayController.instance.session.localPlayer.GetName(), bid + Keys.Gameplay.RAISE_BID_VALUE, ""); }; auctionPopup.AddButton(passString, passAction); if (GameplayController.instance.session.localPlayer.Money >= bid + Keys.Gameplay.RAISE_BID_VALUE) { auctionPopup.AddButton(raiseString, raiseAction); } auctionPopup.onClose = passAction; } PopupSystem.instance.AddPopup(auctionPopup); }