internal void PhaseChanged(object sender, PhaseChangedEventArgs e)
 {
     foreach (Card card in this)
     {
         card.PhaseChanged(sender, e);
     }
 }
Exemplo n.º 2
0
 void player_PhaseChangedEvent(object sender, PhaseChangedEventArgs e)
 {
     if (_CardBase != null)
     {
         _CardBase.PhaseChanged(sender, e);
     }
     _Cards.PhaseChanged(sender, e);
 }
        private void _Player_PhaseChangedEvent(object sender, PhaseChangedEventArgs e)
        {
            if (this.Dispatcher.CheckAccess())
            {
                DisplayStage(e.CurrentPlayer.Phase, e.CurrentPlayer.PlayerMode);

                if (this.IsUIPlayer)
                {
                    if (e.CurrentPlayer.Phase == DominionBase.Players.PhaseEnum.Starting ||
                        e.CurrentPlayer.Phase == DominionBase.Players.PhaseEnum.Waiting ||
                        e.CurrentPlayer.Phase == DominionBase.Players.PhaseEnum.Cleanup ||
                        e.CurrentPlayer.Phase == DominionBase.Players.PhaseEnum.Endgame ||
                        e.CurrentPlayer.PlayerMode == DominionBase.Players.PlayerMode.Waiting ||
                        e.CurrentPlayer.PlayerMode == DominionBase.Players.PlayerMode.Choosing)
                    {
                        cardHand.IsClickable = false;
                    }
                    else
                    {
                        cardHand.IsClickable = true;
                    }

                    if (e.CurrentPlayer == _Player)
                    {
                        cardHand.Phase = e.NewPhase;
                    }
                }
                else
                {
                    cardHand.IsClickable = false;
                }

                if (e.NewPhase == PhaseEnum.Endgame)
                {
                    lock (e.CurrentPlayer.Hand)
                    {
                        cardHand.SplitAt = e.CurrentPlayer.Hand.First(
                            c => (c.Category & DominionBase.Cards.Category.Victory) != DominionBase.Cards.Category.Victory &&
                            (c.Category & DominionBase.Cards.Category.Curse) != DominionBase.Cards.Category.Curse);
                    }
                    cardDiscard.Visibility           = bDeckDiscardDivider.Visibility = cardDeck.Visibility = bDeckHandDivider.Visibility = System.Windows.Visibility.Collapsed;
                    bHandInPlayivider.Visibility     = dpInPlay.Visibility = bInPlayMatsDivider.Visibility = dpMatsandPiles.Visibility = System.Windows.Visibility.Collapsed;
                    bVictoryPointsDivider.Visibility = lVictoryPointsTitle.Visibility = lVictoryPoints.Visibility = System.Windows.Visibility.Visible;
                    svPlayerDisplay.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled;
                }
            }
            else
            {
                this.Dispatcher.BeginInvoke(new EventHandler <PhaseChangedEventArgs>(_Player_PhaseChangedEvent), System.Windows.Threading.DispatcherPriority.Normal, sender, e);
            }
        }
Exemplo n.º 4
0
        protected internal void OnPhaseChanged(IntPtr converter)
        {
            if (_configuration.PhaseChangedAction == null)
            {
                return;
            }

            var phaseCount       = GetPhaseCount(converter);
            var currentPhase     = GetCurrentPhase(converter);
            var phaseDescription = GetPhaseDescription(converter, currentPhase);

            var eventArgs = new PhaseChangedEventArgs(
                ProcessingDocument,
                phaseCount,
                currentPhase,
                phaseDescription);

            _configuration.PhaseChangedAction?.Invoke(eventArgs);
        }
Exemplo n.º 5
0
 internal virtual void PhaseChanged(object sender, PhaseChangedEventArgs e)
 {
 }