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)];
    }
}
上一篇 下一篇

猜你喜欢

热点阅读