public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = 1; List <StarEntity> starsSortedByPower = behavior.NodeLevel.BoardGameLayer.StarSystem .Where(pElem => pElem.CardSocketed != null) .OrderByDescending(pElem => pElem.CardSocketed.CardValue).ToList(); if (starsSortedByPower.Count > 0) { int maxValue = starsSortedByPower.First().CardSocketed.CardValue; List <StarEntity> mostPowerStars = new List <StarEntity>(); foreach (StarEntity star in starsSortedByPower) { if (star.CardSocketed.CardValue == maxValue) { mostPowerStars.Add(star); } else { break; } } (behavior as DeleteCardNotifBehavior).FromStarEntities = mostPowerStars; } }
public void OnBehaviorEnd(ACardNotifBehavior behavior) { foreach (CardEntity cardEntityConverted in behavior.ModifiedCardEntities) { this.AffectedCards.Add(cardEntityConverted); } }
public void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = this.NbCardsToAffect; (behavior as AddPointsNotifBehavior).FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem .Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed.Card.CanBeValueModified) .ToList(); }
public override void OnBehaviorCardPicked(ACardNotifBehavior behavior, CardEntity cardEntityPicked) { MoveCardNotifBehavior moveCardBehavior = behavior as MoveCardNotifBehavior; moveCardBehavior.ToStarEntities = behavior.NodeLevel.BoardGameLayer.StarToLinks[behavior.OwnerCardEntity.ParentStar] .Select(pElem => pElem.StarFrom != behavior.OwnerCardEntity.ParentStar ? pElem.StarFrom : pElem.StarTo) .Where(pElem => pElem.CardSocketed == null).ToList(); }
public void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = this.NbCardsToConvert; (behavior as ConvertCardNotifBehavior).FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarToLinks[behavior.OwnerCardEntity.ParentStar] .Select(pElem => pElem.StarFrom != behavior.OwnerCardEntity.ParentStar ? pElem.StarFrom : pElem.StarTo) .Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed.Card.CurrentOwner != behavior.OwnerCardEntity.Card.CurrentOwner) .ToList(); }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = 1; MoveCardNotifBehavior moveCardBehavior = behavior as MoveCardNotifBehavior; moveCardBehavior.FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarToLinks[behavior.OwnerCardEntity.ParentStar] .Select(pElem => pElem.StarFrom != behavior.OwnerCardEntity.ParentStar ? pElem.StarFrom : pElem.StarTo) .Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed.Card.CanBeMoved).ToList(); }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = 1; MoveCardNotifBehavior moveCardBehavior = behavior as MoveCardNotifBehavior; moveCardBehavior.FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem .Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed.Card.CanBeMoved && pElem.CardSocketed.Card.CurrentOwner == behavior.OwnerCardEntity.Card.CurrentOwner && pElem.CardSocketed != behavior.OwnerCardEntity).ToList(); }
protected virtual void OnNotifBehaviorStarted(IBoardNotifBehavior obj) { lock (this.objectLock) { if (obj.IsThereBehaviorLabel) { ACardNotifBehavior cardNotifBehavior = obj as ACardNotifBehavior; this.CurrentActiveBehavior = new ActiveCardBehavior(cardNotifBehavior.GetType(), cardNotifBehavior.NbBehaviorUse, cardNotifBehavior.StateValue, cardNotifBehavior.OwnerCardEntity.Card.Name); } } }
public virtual void OnBehaviorEnd(ACardNotifBehavior behavior) { }
public virtual void OnBehaviorStart(ACardNotifBehavior behavior) { }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = this.NbUse; (behavior as DeleteCardNotifBehavior).FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem.Where(pElem => pElem.CardSocketed != null).ToList(); }
public override void OnBehaviorCardPicked(ACardNotifBehavior behavior, CardEntity cardEntityPicked) { CardEntity cardEntity = behavior.NodeLevel.BoardGameLayer.CardEntityPicked; (behavior as SwapCardNotifBehavior).ToStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem.Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed != cardEntity).ToList(); }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = 1; (behavior as SwapCardNotifBehavior).FromStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem.Where(pElem => pElem.CardSocketed != null && pElem.CardSocketed.Card.CanBeMoved).ToList(); }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = this.NewCardsToAdd.Count; }
public override void OnBehaviorCardPicked(ACardNotifBehavior behavior, CardEntity cardEntityPicked) { MoveCardNotifBehavior moveCardBehavior = behavior as MoveCardNotifBehavior; moveCardBehavior.ToStarEntities = behavior.NodeLevel.BoardGameLayer.StarSystem.Where(pElem => pElem.CardSocketed == null).ToList(); }
public void OnBehaviorCardPicked(ACardNotifBehavior behavior, CardEntity cardEntityPicked) { }
public override void OnBehaviorStart(ACardNotifBehavior behavior) { behavior.NbBehaviorUse = this.NbUse; (behavior as ResurrectCardNotifBehavior).FromCardEntities = behavior.NodeLevel.GetLayerFromPlayer(behavior.OwnerCardEntity.Card.CurrentOwner).CardsCemetery.ToList(); }