public ClampedStatistic(ObservedStatistic min, ObservedStatistic max, ObservedStatistic main) : this((ReadOnlyStatistic)min, max, main) => min.OnChange += ChangeMin;
public ClampedStatistic(ReadOnlyStatistic min, ReadOnlyStatistic max, ObservedStatistic main) : this(min, max, (ReadOnlyStatistic)main) => main.OnChange += ChangeValue;
public void Unregister(ObservedStatistic observedStatistic) { observedStatistic.OnChange -= Change; Register((ReadOnlyStatistic)observedStatistic); }
public ClampedStatistic(ReadOnlyStatistic min, ObservedStatistic max, ObservedStatistic main) : this(min, (ReadOnlyStatistic)max, main) => max.OnChange += ChangeMax;
public CalculatedStatistic(DeltaFormula <float> deltaFormula, ObservedStatistic observedStatistic, int value = default) : base(deltaFormula.Evaluate(value, observedStatistic.Value)) { this.deltaFormula = deltaFormula; observedStatistic.OnChange += Change; }