public void Calculate(ushort node, JewelRadius radius, IReadOnlyCollection <string> modifiers) { DisplayStrength = AnyModifierUsesAttributesInJewelRadius(modifiers, "Strength"); DisplayDexterity = AnyModifierUsesAttributesInJewelRadius(modifiers, "Dexterity"); DisplayIntelligence = AnyModifierUsesAttributesInJewelRadius(modifiers, "Intelligence"); if (!DisplayAttributes) { return; } var task = GetAttributesInRadiusAsync(node, radius); if (DisplayStrength) { Strength = new NotifyingTask <double>(GetStrengthAsync(task), e => Log.Error(e, "Calculating Strength in radius failed")); } if (DisplayDexterity) { Dexterity = new NotifyingTask <double>(GetDexterityAsync(task), e => Log.Error(e, "Calculating Dexterity in radius failed")); } if (DisplayIntelligence) { Intelligence = new NotifyingTask <double>(GetIntelligenceAsync(task), e => Log.Error(e, "Calculating Intelligence in radius failed")); }
public static uint GetRadius(this JewelRadius @this) { switch (@this) { case JewelRadius.None: return(0); case JewelRadius.Small: return(800); case JewelRadius.Medium: return(1200); case JewelRadius.Large: return(1500); default: throw new ArgumentOutOfRangeException(nameof(@this), @this, null); } }
public ParseResult ParseJewelSocketedInSkillTree(Item item, JewelRadius jewelRadius, ushort nodeId) => _treeJewelParser.Parse(new JewelInSkillTreeParserParameter(item, jewelRadius, nodeId));
public void Deconstruct(out Item item, out JewelRadius jewelRadius, out ushort passiveNodeId) => (item, jewelRadius, passiveNodeId) = (Item, JewelRadius, PassiveNodeId);
public JewelInSkillTreeParserParameter(Item item, JewelRadius jewelRadius, ushort passiveNodeId) { Item = item; JewelRadius = jewelRadius; PassiveNodeId = passiveNodeId; }
public Jewel(JewelRadius radius, ushort passiveNodeId) { Radius = radius; PassiveNodeId = passiveNodeId; }
public Jewel(JewelRadius radius, ushort passiveNodeId, string itemName) : base(new Jewel(radius, passiveNodeId), itemName) { Radius = radius; PassiveNodeId = passiveNodeId; }
public static float GetRadius(this JewelRadius @this, float zoomLevel) => @this.GetRadius() * zoomLevel;
public static IEnumerable <PassiveNodeDefinition> GetNodesInRadius(this PassiveTreeDefinition @this, ushort nodeId, JewelRadius radius) => @this.GetNodesInRadius(nodeId, radius.GetRadius());