////////////////////////////////////////////////////////////////////////// public Sprite Roll() { if (m_WeightedBag == null) { m_WeightedBag = UnityRandom.CreateWeightedBag(m_Data.Select(n => n.m_Sprite), m_Data.Select(n => n.m_Chanse)); } return(m_WeightedBag.Next()); }
////////////////////////////////////////////////////////////////////////// public GameObject Roll(float scale) { if (m_WeightedBag == null) { m_WeightedBag = UnityRandom.CreateWeightedBag(m_Data.Select(n => n.m_Prefab), m_Data.Select(n => n.m_Chanse.Evaluate(scale))); } var result = m_WeightedBag.Next(); return(result); }