コード例 #1
0
 public override int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     GetType().GetHashCode(),
     calc.Calculate(_from),
     calc.Calculate(_to));
 }
コード例 #2
0
 public override int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     GetType().GetHashCode(),
     _preventCombatOnly.GetHashCode(),
     calc.Calculate(_source));
 }
コード例 #3
0
 public override int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     GetType().GetHashCode(),
     _amount.Value,
     calc.Calculate((IHashable)_creatureOrPlayer));
 }
コード例 #4
0
ファイル: TurnInfo.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     Step.GetHashCode(),
     TurnCount,
     State.GetHashCode()
     );
 }
コード例 #5
0
ファイル: ChangeTracker.cs プロジェクト: longde123/grove
        public int CalculateHash(HashCalculator calc)
        {
            var hashable = _value as IHashable;

            return(hashable != null
        ? calc.Calculate(hashable)
        : _value.GetHashCode());
        }
コード例 #6
0
        public void Calculate()
        {
            var hashcode1 = new HashCalculator().Calculate(new Car(3));
              var hashcode2 = new HashCalculator().Calculate(new Car(4));
              var hashcode3 = new HashCalculator().Calculate(new Car(4));

              Assert.NotEqual(hashcode1, hashcode2);
              Assert.Equal(hashcode2, hashcode3);
        }
コード例 #7
0
        public void Cache()
        {
            var calculator = new HashCalculator();
              var obj = new Country();

              var hashcode1 = calculator.Calculate(obj);
              var hashcode2 = calculator.Calculate(obj);

              Assert.Equal(hashcode1, hashcode2);
        }
コード例 #8
0
ファイル: ChangeTracker.cs プロジェクト: longde123/grove
        public int CalculateHash(HashCalculator calc)
        {
            var hashcodes = new List <int>();

            foreach (var item in _items.Keys)
            {
                var hashable = item as IHashable;
                hashcodes.Add(hashable != null ? hashable.CalculateHash(calc) : item.GetHashCode());
            }

            return(HashCalculator.CombineCommutative(hashcodes));
        }
コード例 #9
0
ファイル: GameFacts.cs プロジェクト: leloulight/magicgrove
        public void HashOfCopyShouldNotChange2()
        {
            var mountain = C("Mountain");
              Hand(P1, mountain);

              var calc = new HashCalculator();

              var cardCopy = new CopyService().CopyRoot(C(mountain));

              var originalHash = calc.Calculate(C(mountain));
              var copyHash = calc.Calculate(cardCopy);

              Assert.Equal(originalHash, copyHash);
        }
コード例 #10
0
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(Wheels.Select(calc.Calculate));
 }
コード例 #11
0
ファイル: Blocker.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     calc.Calculate(Card),
     DamageAssignmentOrder,
     calc.Calculate(_assignedDamage));
 }
コード例 #12
0
ファイル: CastRule.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return 0;
 }
コード例 #13
0
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     _value.GetHashCode(),
     _isEnabled.Value.GetHashCode());
 }
コード例 #14
0
 public int CalculateHash(HashCalculator calc)
 {
     return calc.Calculate(_abilities);
 }
コード例 #15
0
 public int CalculateHash(HashCalculator calc)
 {
     return calc.Calculate(_redirections);
 }
コード例 #16
0
ファイル: Damage.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return Amount;
 }
コード例 #17
0
ファイル: Ability.cs プロジェクト: leloulight/magicgrove
 public virtual int CalculateHash(HashCalculator calc)
 {
     return _isEnabled.Value.GetHashCode();
 }
コード例 #18
0
 public int CalculateHash(HashCalculator calc)
 {
     return(calc.Calculate(_items, _orderImpactsHashcode));
 }
コード例 #19
0
 public int CalculateHash(HashCalculator calc)
 {
     return RandomEx.Next();
 }
コード例 #20
0
ファイル: Trigger.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
   return GetType().GetHashCode();
 }
コード例 #21
0
 public int CalculateHash(HashCalculator calc)
 {
     return _queue.Count;
 }
コード例 #22
0
ファイル: Library.cs プロジェクト: leloulight/magicgrove
 public override int CalculateHash(HashCalculator calc)
 {
     return Count;
 }
コード例 #23
0
 public int CalculateHash(HashCalculator calc)
 {
     return calc.Calculate(_preventions);
 }
コード例 #24
0
 public int CalculateHash(HashCalculator calc)
 {
     return Effect().CalculateHash(calc);
 }
コード例 #25
0
ファイル: Attacker.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(
     calc.Calculate(_isBlocked),
     calc.Calculate(_card),
     calc.Calculate(_blockers),
     calc.Calculate(_assignedDamage));
 }
コード例 #26
0
ファイル: ScenarioCard.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator hashCalculator)
 {
     return Card.CalculateHash(hashCalculator);
 }
コード例 #27
0
ファイル: Protections.cs プロジェクト: leloulight/magicgrove
 public int CalculateHash(HashCalculator calc)
 {
     return HashCalculator.Combine(calc.Calculate(_colors), calc.Calculate(_cardTypes));
 }
コード例 #28
0
ファイル: TrackableSet.cs プロジェクト: callumhutchy/grove
 public int CalculateHash(HashCalculator calc)
 {
     return(calc.Calculate(_items.Keys.ToList(),
                           orderImpactsHashcode: false));
 }
コード例 #29
0
 public abstract int CalculateHash(HashCalculator calc);