public void SetupByCopy(WeightedRandomizer <T> anotherRandomizer)
        {
            if (anotherRandomizer == null)
            {
                Debug.LogError("another Randomizer is null!");
                Reset();
                return;
            }

            m_Values      = new List <T>(anotherRandomizer.m_Count);
            m_Weights     = new List <float>(anotherRandomizer.m_Count);
            m_TotalWeight = anotherRandomizer.m_TotalWeight;
            m_Count       = anotherRandomizer.m_Count;

            for (int i = 0; i < m_Count; i++)
            {
                m_Values[i]  = anotherRandomizer.m_Values[i];
                m_Weights[i] = anotherRandomizer.m_Weights[i];
            }
        }
 public WeightedRandomizer(WeightedRandomizer <T> anotherRandomizer)
 {
     SetupByCopy(anotherRandomizer);
 }