private void BeginSelection() { if (selectedCardZone.Count < 1) { return; } battleState.SelectionStarted = true; _card = selectedCardZone.Cards[0]; Message.Publish(new TargetSelectionBegun(_card.Type)); cardPresenter.Set(_card, () => { }); cardPresenter.SetHighlightGraphicState(true); Log.Info($"Showing Selected Card {_card.Name}", gameObject); uiView.SetActive(true); _actionIndex = 0; _numActions = _card.ActionSequences.Length; _actionTargets = new Target[_numActions]; if (_numActions == 0) { Log.Info($"Card {_card.Name} has no Card Actions"); OnTargetConfirmed(Group.All, Scope.All); return; } PresentPossibleTargets(); }
public void Init(CardType card, int numTotal, int numAvailable) { var action = numAvailable > 0 ? (Action)(() => AddCard(card)) : () => { }; presenter.Set(card, action); numCopiesLabel.text = $"{numAvailable}/{numTotal}"; }
private void UpdateAffordability() { if (_purchased) { return; } var canAfford = party.Credits >= _price; cardPresenter.Set(_card, canAfford ? PurchaseCard : (Action)(() => { })); if (!canAfford) { cardPresenter.SetDisabled(true); } }
private void BeginSelection() { if (selectedCardZone.Count < 1) { return; } battleState.SelectionStarted = true; onTargetSelectionStarted.Publish(); _selectedCard = selectedCardZone.Cards[0]; _isReadyForSelection = false; var cardClass = _selectedCard.LimitedToClass; if (!cardClass.IsPresent) { Debug.Log($"Card {_selectedCard.Name} is not playable by Heroes", _selectedCard); return; } cardPresenter.Set(_selectedCard, () => { }); uiView.SetActive(true); _hero = battleState.Members.Values.FirstOrDefault(x => x.Class.Equals(cardClass.Value)); if (_hero == null) { Debug.Log($"Could not find Party Member with Class {cardClass.Value}"); return; } _actionIndex = 0; _numActions = _selectedCard.Actions.Length; _actionTargets = new Target[_numActions]; if (_numActions == 0) { Debug.Log($"Card {_selectedCard.Name} has no Card Actions"); OnTargetConfirmed(); return; } PresentPossibleTargets(); }
public void Init(Card card) { presenter.Set(card, () => AddCard(card)); }
public void Init(CardType card) { presenter.Set(card, () => {}); }