public bool hasEnoughResourceToCast(ElementsPair elementPair, int firstResourceCost, int secondResourceCost) { bool hasEnoughResource = true; int firstElementIndex = (int)elementPair.First; int secondElementIndex = (int)elementPair.Second; var elementsEnumCount = Enum.GetNames(typeof(Elements.elemEnum)).Length; int[] elementCosts = Enumerable.Repeat(0, elementsEnumCount).ToArray(); elementCosts[firstElementIndex] = firstResourceCost; elementCosts[secondElementIndex] = secondResourceCost; List <Elements.elemEnum> depletedElements = new List <Elements.elemEnum>(); if (fireLevelController.CurrentLevel < elementCosts[(int)Elements.elemEnum.fire]) { hasEnoughResource = false; } if (waterLevelController.CurrentLevel < elementCosts[(int)Elements.elemEnum.water]) { hasEnoughResource = false; } if (earthLevelController.CurrentLevel < elementCosts[(int)Elements.elemEnum.earth]) { hasEnoughResource = false; } if (windLevelController.CurrentLevel < elementCosts[(int)Elements.elemEnum.wind]) { hasEnoughResource = false; } return(hasEnoughResource); }
public bool Equals(ElementsPair other) { if (other == null) { return(false); } return(Equals(this.First, other.First) && Equals(this.Second, other.Second)); }