RandomEx扩展类
2020-07-16 本文已影响0人
ShawnWeasley
和TransformEx扩展相同,为随机写一个Ex扩展,目前只写了一个方法,后续会更新增加方法。
如果对静态类不了解的可以参考这里:https://www.jianshu.com/p/17ee1c7f23a5
还是先看如何调用:
using UnityEngine;
public class Test : MonoBehaviour
{
void Start()
{
string[] strList = { "a", "b", "c", "d", "e" };
Random random = new Random();
//传入数组调用
Debug.Log(random.GetRandomValueFrom(strList));
//直接传入值调用,此处值需为同一类型
Debug.Log(random.GetRandomValueFrom(2, 3, 4, 5, 6));
}
}
结果:

扩展类如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Random扩展类
/// </summary>
public static partial class RandomEx
{
/// <summary>
/// 数组获取随机值
/// </summary>
/// <typeparam name="T">T</typeparam>
/// <param name="random">random</param>
/// <param name="values">values</param>
/// <returns></returns>
public static T GetRandomValueFrom<T>(this Random random, params T[] values)
{
return values[Random.Range(0, values.Length)];
}
}