mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-14 21:01:14 +03:00
* Remove all uses of System.Random * Use IRobustRandom in BinomialNumberSelector.Get * Remove remaining ToolRefinableSystem S.Random inst
26 lines
814 B
C#
26 lines
814 B
C#
using Content.Shared.EntityTable.EntitySelectors;
|
|
using JetBrains.Annotations;
|
|
using Robust.Shared.Random;
|
|
|
|
namespace Content.Shared.EntityTable.ValueSelector;
|
|
|
|
/// <summary>
|
|
/// Used for implementing custom value selection for <see cref="EntityTableSelector"/>
|
|
/// </summary>
|
|
[ImplicitDataDefinitionForInheritors, UsedImplicitly(ImplicitUseTargetFlags.WithInheritors)]
|
|
public abstract partial class NumberSelector
|
|
{
|
|
public abstract int Get(IRobustRandom rand);
|
|
|
|
/// <summary>
|
|
/// Odds of occurrence
|
|
/// </summary>
|
|
/// <returns>An odds multiplier of at least one occurrence</returns>
|
|
public abstract float Odds();
|
|
|
|
/// <summary>
|
|
/// Average number of occurrences
|
|
/// </summary>
|
|
/// <returns>The average amount of occurrences</returns>
|
|
public abstract float Average();
|
|
}
|