/// <summary> /// 获取一组不相同的随机数 /// </summary> /// <param name="min">最小值(包含)</param> /// <param name="max">最大值(不包含)</param> /// <param name="num">随机数量</param> /// <returns></returns> public static int[] Random(int min, int max, uint num) { List <int> randoms = new List <int>(); if (max - min >= num) { while (randoms.Count < num) { int v = UnityEngine.Random.Range(min, max); if (!randoms.Contains(v)) { randoms.Add(v); } } } else { GLog.E("Random Error:: The range of value (max - min) is less then num."); } return(randoms.ToArray()); }
/// <summary> /// 获取一组不相同的随机数 /// </summary> /// <param name="min">最小值(包含)</param> /// <param name="max">最大值(包含)</param> /// <param name="num">随机数量</param> /// <returns></returns> public static float[] Random(float min, float max, uint num) { List <float> randoms = new List <float>(); if (max > min) { while (randoms.Count < num) { float v = UnityEngine.Random.Range(min, max); if (!randoms.Contains(v)) { randoms.Add(v); } } } else { GLog.E("Random Error:: Random max value is less than min value."); } return(randoms.ToArray()); }
/// <summary> /// 获取 /// </summary> /// <returns></returns> public GameObject Get() { if (m_pool.countAll >= m_maxSize && m_pool.countInactive <= 0) { GLog.E(string.Format("{0} Pool has reached the Maximum.", m_name)); return(null); } if (m_pool.countInactive > 0) { return(m_pool.Get()); } if (m_prefab == null) { GLog.E(string.Format("{0} Pool 's prefab has been destroyed.", m_name)); return(null); } return(m_pool.Get()); }