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); }
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); }