コード例 #1
0
            private void UpdateWeights(bool reset = false)
            {
                if (!Player.IsInGame && !ModuleManager.IsEnabled || !ZetaDia.IsInGame)
                {
                    return;
                }

                if (Weights == null || !Weights.Any() || reset)
                {
                    Weights = WeightSettingsHelper.GetDefaults();
                }

                WeightOverrides = new FullyObservableCollection <WeightSettings>(Weights);
            }
コード例 #2
0
        public override bool SetWeight(TrinityActor cacheObject)
        {
            var weightType     = WeightSettingsHelper.GetWeightType(cacheObject);
            var startingWeight = cacheObject.Weight;
            var weight         = 0d;

            foreach (var weightRule in Settings.WeightOverrides.Where(r => r.IsEnabled && r.ActorWeightType == weightType))
            {
                weight += weightRule.Eval(cacheObject, cacheObject.Weight);
            }

            var weightChanged = Math.Abs(startingWeight - weight) > float.Epsilon;

            if (weightChanged)
            {
                cacheObject.Weight = weight;
                return(true);
            }
            return(false);
        }