public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( base.CalculateHash(calc), calc.Calculate(_source), calc.Calculate(_creatureOrPlayer))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( GetType().GetHashCode(), _preventCombatOnly.GetHashCode(), calc.Calculate(_source))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( calc.Calculate(_isBlocked), calc.Calculate(_card), calc.Calculate(_blockers))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( GetType().GetHashCode(), calc.Calculate(_from), calc.Calculate(_to))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( GetType().GetHashCode(), _maxAmount, calc.Calculate((IHashable)_creatureOrPlayer))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( base.CalculateHash(calc), _p.ActivateAsSorcery.GetHashCode(), calc.Calculate(_p.Cost))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( calc.Calculate(Card), DamageAssignmentOrder, calc.Calculate(_assignedDamage))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( Step.GetHashCode(), TurnCount, State.GetHashCode() )); }
public override int CalculateHash(HashCalculator calc) { var hashcodes = _p.Triggers.Select(calc.Calculate).ToList(); return(HashCalculator.Combine( base.CalculateHash(calc), HashCalculator.Combine(hashcodes))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( calc.Calculate(Player1), calc.Calculate(Player2), calc.Calculate(Searching), calc.Calculate(_extraTurns))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( GetType().GetHashCode(), calc.Calculate(Source), calc.Calculate(Targets), CanBeCountered.GetHashCode(), X.GetHashCode())); }
public override int CalculateHash(HashCalculator calc) { var visible = this .Where(x => x.IsVisibleToPlayer(Owner)) .ToList(); if (visible.Count == 0) { return(Count); } return(HashCalculator.Combine(Count, calc.Calculate(visible, true))); }
public int CalculateHash() { var calc = new HashCalculator(); return(HashCalculator.Combine( calc.Calculate(Players), calc.Calculate(Stack), calc.Calculate(Turn), calc.Calculate(Combat), calc.Calculate(_damagePreventions), calc.Calculate(_damageRedirections), calc.Calculate(_decisionQueue))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( Life, HasPriority.GetHashCode(), IsActive.GetHashCode(), calc.Calculate(_battlefield), calc.Calculate(_graveyard), calc.Calculate(_library), calc.Calculate(_hand), _landLimit.Value.GetValueOrDefault(), _landsPlayedCount.Value )); }
public int CalculateHash(HashCalculator calc) { if (Ai.IsSearchInProgress && IsVisibleToSearchingPlayer == false) { return(Zone.GetHashCode()); } if (_hash.Value.HasValue == false) { // this value can be same for different cards with same NAME, // sometimes this is good sometimes not, currently we favor // smaller tree sizes and less accurate results. // if tree size is no longer a problem we will replace NAME with // a guid. _hash.Value = HashCalculator.Combine( Name.GetHashCode(), _hasSummoningSickness.Value.GetHashCode(), UsageScore.GetHashCode(), IsTapped.GetHashCode(), Damage, HasRegenerationShield.GetHashCode(), HasLeathalDamage.GetHashCode(), calc.Calculate(_strenght), Level.GetHashCode(), Counters.GetHashCode(), calc.Calculate(_typeOfCard.Value), Zone.GetHashCode(), _isRevealed.Value.GetHashCode(), _isPeeked.Value.GetHashCode(), _isHidden.Value.GetHashCode(), calc.Calculate(_simpleAbilities), calc.Calculate(_staticAbilities), calc.Calculate(_triggeredAbilities), calc.Calculate(_activatedAbilities), calc.Calculate(_protections), calc.Calculate(_attachments), calc.Calculate(_colors) ); } return(_hash.Value.GetValueOrDefault()); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( _value.GetHashCode(), _isEnabled.Value.GetHashCode())); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine(Wheels.Select(calc.Calculate))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( base.CalculateHash(calc), _amountLeft.Value)); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( _power.Value.GetHashCode(), _toughness.Value.GetHashCode())); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( HashCalculator.Combine(_effectTargets.Select(calc.Calculate)), HashCalculator.Combine(_costTargets.Select(calc.Calculate)))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( calc.Calculate(_colors.Value, orderImpactsHashcode: false), calc.Calculate(_cardTypes.Value, orderImpactsHashcode: false))); }
public override int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( base.CalculateHash(calc), calc.Calculate(_player))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( calc.Calculate(_attackers), calc.Calculate(_blockers))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine( _p.ActivateAsSorcery.GetHashCode(), calc.Calculate(_p.Cost))); }
public int CalculateHash(HashCalculator calc) { return(HashCalculator.Combine(calc.Calculate(_colors), calc.Calculate(_cardTypes))); }