public static SeedRandom GetSeeder(SeederType type) { switch (type) { case SeederType.Build: return(Builder.BuildSeedRandom); case SeederType.Session: return(Builder.SessionSeedRandom); case SeederType.HostID: return(Builder.HostIDSeedRandom); } return(Builder.SessionSeedRandom); }
public static void Shuffle <T>(T[] array, SeederType type = SeederType.Session, string debugTag = "NO_TAG") { var seeder = GetSeeder(type); int i = array.Length; while (i > 1) { int num = seeder.Range(0, i--); T t = array[i]; array[i] = array[num]; array[num] = t; } }
public static T PickFromArray <T>(T[] items, SeederType type = SeederType.Session, string debugTag = "NO_TAG") { if (items == null) { return(default);
public static int Range(int min, int max, SeederType type = SeederType.Session, string debugTag = "NO_TAG") { return(GetSeeder(type).Range(min, max, debugTag)); }
public static float Value(SeederType type = SeederType.Session, string debugTag = "NO_TAG") { return(GetSeeder(type).Value(debugTag)); }