コード例 #1
0
ファイル: RNG.cs プロジェクト: caesuric/familiar-quest
 public static int Int(int min, int max)
 {
     if (MainThreadTest.OnMainThread())
     {
         return(UnityEngine.Random.Range(min, max));
     }
     else
     {
         return(random.Next(min, max));
     }
 }
コード例 #2
0
ファイル: RNG.cs プロジェクト: caesuric/familiar-quest
 public static bool Bool()
 {
     if (MainThreadTest.OnMainThread())
     {
         return(UnityEngine.Random.Range(0, 2) == 0);
     }
     else
     {
         return(random.Next(0, 2) == 0);
     }
 }
コード例 #3
0
ファイル: RNG.cs プロジェクト: caesuric/familiar-quest
 public static float Float(float min, float max)
 {
     if (MainThreadTest.OnMainThread())
     {
         return(UnityEngine.Random.Range(min, max));
     }
     else
     {
         return((float)((random.NextDouble() * (max - min)) + min));
     }
 }
コード例 #4
0
ファイル: RNG.cs プロジェクト: caesuric/familiar-quest
    public static T EnumValue <T>() where T : struct, IConvertible
    {
        if (!typeof(T).IsEnum)
        {
            throw new ArgumentException("T must be an enumerated type.");
        }
        var values = Enum.GetValues(typeof(T));

        if (MainThreadTest.OnMainThread())
        {
            return((T)values.GetValue(UnityEngine.Random.Range(0, values.Length)));
        }
        else
        {
            return((T)values.GetValue(random.Next(values.Length)));
        }
    }