Example #1
0
        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);
            }
        }
Example #3
0
 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;
 }
Example #6
0
 public Jewel(JewelRadius radius, ushort passiveNodeId)
 {
     Radius        = radius;
     PassiveNodeId = passiveNodeId;
 }
Example #7
0
 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());