public override bool Equals(object obj) { if (!(obj is ItemPurchaseKey)) { return(false); } ItemPurchaseKey other = (ItemPurchaseKey)obj; return (ItemId == other.ItemId && Number == other.Number); }
public void Increment(ItemPurchaseInformation purchase) { double lerpValue = (double)Count / (double)(Count + 1); AveragePurchaseTimeSeconds = (AveragePurchaseTimeSeconds * lerpValue) + (purchase.GameState.Timestamp.TotalSeconds * (1.0 - lerpValue)); ++Count; Kills += purchase.GameState.TotalKills; TowerKills += purchase.GameState.TotalTowerKills; InnerTowerKills += purchase.GameState.TotalTowerKillsByType(TowerType.InnerTurret); BaseTowerKills += purchase.GameState.TotalTowerKillsByType(TowerType.BaseTurret); if (purchase.BuildsInto != null) { var buildsIntoKey = new ItemPurchaseKey(purchase.BuildsInto); if (BuiltInto.ContainsKey(buildsIntoKey)) { ++BuiltInto[buildsIntoKey]; } else { BuiltInto[buildsIntoKey] = 1; } } if (purchase.FinalBuildItem != null) { var finalBuildKey = new ItemPurchaseKey(purchase.FinalBuildItem); if (FinalBuildItem.ContainsKey(finalBuildKey)) { ++FinalBuildItem[finalBuildKey]; } else { FinalBuildItem[finalBuildKey] = 1; } } }