/// <summary> /// Pokazuje wskazanemu graczowi poppup z pytaniem, czy chce on kupić dane pole /// </summary> /// <param name="player">Gracz, któremu pokazujemy popup</param> /// <param name="visualiser">Instancja visualisera, który przechowuje dane pole</param> private void ShowBuyPopup(Player player, PlaceVisualiser visualiser) { if (player.Money >= GetInitialPrice()) { LanguageController language = SettingsController.instance.languageController; //popup o mozliwosci kupienia pola od banku string message = language.GetWord("DO_YOU_WANT_TO_BUY") + GetFieldName() + "\n" + language.GetWord("PRICE") + ":" + GetInitialPrice() + "?"; Popup.PopupAction yesAction = delegate(Popup source) { //gracz chce kupic pole wiec jest mu przydzielane z banku GameplayController.instance.banking.AquireBuilding(player, player.PlaceId); source.onClose = null; }; Popup.PopupAction auctionAction = delegate { EventManager.instance.SendOnAuction(player.GetName(), player.PlaceId, "", GetInitialPrice(), player.GetName()); }; QuestionPopup wantToBuy = QuestionPopup.CreateYesNoDialog(message, yesAction); wantToBuy.onClose += auctionAction; PopupSystem.instance.AddPopup(wantToBuy); } else { //Jeżeli nie stać nas na kupienie budynku, rozpoczyna się licytacja EventManager.instance.SendOnAuction(player.GetName(), visualiser.placeIndex, "", GetInitialPrice(), player.GetName()); } }
/// <summary> /// Pokazuje wskazanemu graczowi poppup z pytaniem, czy chce on ulepszyć dane pole /// </summary> /// <param name="player">Gracz, któremu pokazujemy popup</param> /// <param name="visualiser">Instancja visualisera, który przechowuje dane pole</param> /// <param name="language">Odwołanie do LanguageControllera</param> private void ShowUpgradePopup(Player player, PlaceVisualiser visualiser, LanguageController language) { //Tylko budynki o typie NormalBuilding można ulepszyć int currentTier = GameplayController.instance.board.GetTier(visualiser.placeIndex); //Pytamy o możliwość ulepszenia tylko wtedy, gdy istnieje następny poziom budynku if (HasNextTier(visualiser.placeIndex) && player.Money >= GameplayController.instance.banking.GetUpgradePrice(visualiser.placeIndex)) { float upgradePrice = GetTier(currentTier + 1).buyPrice; //Sprawdzamy, czy gracz ma wystraczająco pieniędzy na ulepszenie if (player.Money >= upgradePrice) { string message = language.GetWord("DO_YOU_WANT_TO_UPGRADE") + GetFieldName() + "? \n" + language.GetWord("UPGRADE_COST") + upgradePrice; Popup.PopupAction yesAction = delegate(Popup source) { GameplayController.instance.banking.UpgradeBuilding(player, visualiser.placeIndex); }; QuestionPopup upgrade = QuestionPopup.CreateYesNoDialog(message, yesAction); PopupSystem.instance.AddPopup(upgrade); } } }
public override void OnBuy(Player player, PlaceVisualiser visualiser) { base.OnBuy(player, visualiser); visualiser.ShowNextModel(); GameplayController.instance.board.NextTier(visualiser.placeIndex); }
/// <summary> /// Zdarzenia wywoływane, gdy gracz wejdzie na pole /// </summary> /// <param name="player">Gracz, który wywołał zdarzenie</param> /// <param name="visualiser">Pole, na którym zostało wywołane zdarzenie</param> public virtual void OnEnter(Player player, PlaceVisualiser visualiser) { if (player.NetworkPlayer.IsLocal && this is BuildingField) { GameplayController.instance.arController.centerBuilding.GetComponent <CenterVisualiser>().ShowField(this, visualiser.placeIndex); } }
public override void OnPassby(Player player, PlaceVisualiser visualiser) { base.OnPassby(player, visualiser); if (player.NetworkPlayer.IsLocal) { GivePassMoney(player); } }
public override void OnEnter(Player player, PlaceVisualiser visualiser) { base.OnEnter(player, visualiser); if (player.NetworkPlayer.IsLocal) { ShowRandomCard(player); } }
public override void OnEnter(Player player, PlaceVisualiser visualiser) { base.OnEnter(player, visualiser); if (player.NetworkPlayer.IsLocal) { if (GameplayController.instance.board.GetOwner(visualiser.placeIndex) == null) { //Pole nie ma właściciela ShowBuyPopup(player, visualiser); } } }
protected void ShowPayPopup(Player player, PlaceVisualiser visualiser, float cost) { LanguageController language = SettingsController.instance.languageController; Player owner = GameplayController.instance.board.GetOwner(visualiser.placeIndex); //Wiadomość o konieczności zapłaty string message = language.GetWord("YOU_MUST_PAY") + owner.GetName() + language.GetWord("FOR_STAY_ON_PLACE") + "\n" + language.GetWord("COST") + cost; Popup.PopupAction onOk = delegate(Popup source) { GameplayController.instance.banking.Pay(player, owner, cost); }; QuestionPopup payPopup = QuestionPopup.CreateOkDialog(message, onOk); PopupSystem.instance.AddPopup(payPopup); }
public override void OnAwake(Player player, PlaceVisualiser visualiser) { if (player.NetworkPlayer.IsLocal && player.Imprisoned) { Board board = GameplayController.instance.board; LanguageController language = SettingsController.instance.languageController; FlowController flow = GameplayController.instance.flow; flow.Pause(); QuestionPopup startTurn = QuestionPopup.CreateOkDialog(language.GetWord("YOU_ARE_IN_PRISON")); flow.CloseOnDiceClose(startTurn); Popup.PopupAction diceRoll = delegate(Popup source) { if (freeingThrows.Contains(board.dice.rollResult)) { QuestionPopup free = QuestionPopup.CreateOkDialog(language.GetWord("YOU_ARE_FREE")); GameplayController.instance.flow.RollResult().Invoke(source); player.Imprisoned = false; PopupSystem.instance.AddPopup(free); } else { QuestionPopup noFree = QuestionPopup.CreateOkDialog(language.GetWord("NOT_THIS_TIME")); GameplayController.instance.diceController.Roll(board.dice.rollResult.Roll1, board.dice.rollResult.Roll2); PopupSystem.instance.AddPopup(noFree); flow.RewindToSkiping(); } }; startTurn.onClose += delegate { PopupSystem.instance.ShowDice(diceRoll); }; PopupSystem.instance.AddPopup(startTurn); } else { base.OnAwake(player, visualiser); } }
public override void OnEnter(Player player, PlaceVisualiser visualiser) { base.OnEnter(player, visualiser); if (player.NetworkPlayer.IsLocal) { if (GameplayController.instance.board.GetOwner(visualiser.placeIndex) != null) { //Pole ma właściciela if (GameplayController.instance.board.GetOwner(visualiser.placeIndex).GetName() == player.GetName()) { //Jeżeli gracz, który jest właścicielem stanął na polu ShowUpgradePopup(player, visualiser, SettingsController.instance.languageController); } else { //Jeżeli gracz, który nie jest właścicielem stanął na polu ShowPayPopup(player, visualiser, GetTier(GameplayController.instance.board.GetTier(visualiser.placeIndex)).enterCost); } } } }
/// <summary> /// Zdarzenie wywoływane przy sprzedaniu pola /// </summary> /// <param name="player">Gracz, który sprzedał pole</param> /// <param name="visualiser">Pole, na którym zostało wywołane zdarzenie</param> public virtual void OnSell(Player player, PlaceVisualiser visualiser) { }
public void OnUpgrade(Player player, PlaceVisualiser visualiser) { visualiser.ShowNextModel(); }
/// <summary> /// Zdarzenie wywoływane gdy gracz rozpocznie rundę na danym polu /// </summary> /// <param name="player">Instancja gracza</param> /// <param name="visualiser">Instancja pola</param> public virtual void OnAwake(Player player, PlaceVisualiser visualiser) { GameplayController.instance.flow.DefaultBegining(); }
/// <summary> /// Zdarzenie wywoływane, gdy gracz przejdzie przez pole /// </summary> /// <param name="player">Gracz, który wywołał zdarzenie</param> /// <param name="visualiser">Pole, na którym zostało wywołane zdarzenie</param> public virtual void OnPassby(Player player, PlaceVisualiser visualiser) { }
/// <summary> /// Zdarzenia wywoływane, gdy gracz zejdzie z pola /// </summary> /// <param name="player">Gracz, który wywołał zdarzenie</param> /// <param name="visualiser">Pole, na którym zostało wywołane zdarzenie</param> public virtual void OnLeave(Player player, PlaceVisualiser visualiser) { }