public override void DrawOnGUI(Rect rect, int maxThresholdMarkers = int.MaxValue, float customMargin = -1f, bool drawArrows = true, bool doTooltip = true)
        {
            Trait traitDrugDesire = TraitDrugDesire;

            if (traitDrugDesire != null && lastThresholdUpdateTraitRef != traitDrugDesire)
            {
                lastThresholdUpdateTraitRef = traitDrugDesire;
                threshPercents = new List <float>();
                LevelThresholds currentLevelThresholds = CurrentLevelThresholds;
                threshPercents.Add(currentLevelThresholds.extremelyNegative);
                threshPercents.Add(currentLevelThresholds.veryNegative);
                threshPercents.Add(currentLevelThresholds.negative);
                threshPercents.Add(currentLevelThresholds.positive);
                threshPercents.Add(currentLevelThresholds.veryPositive);
            }
            base.DrawOnGUI(rect, maxThresholdMarkers, customMargin, drawArrows, doTooltip);
        }
        static Need_Chemical_Any()
        {
            LevelThresholds levelThresholds = new LevelThresholds
            {
                extremelyNegative = 0.1f,
                veryNegative      = 0.25f,
                negative          = 0.4f,
                positive          = 0.7f,
                veryPositive      = 0.85f
            };

            FascinationDegreeLevelThresholdsForMood = levelThresholds;
            levelThresholds = new LevelThresholds
            {
                extremelyNegative = 0.01f,
                veryNegative      = 0.15f,
                negative          = 0.3f,
                positive          = 0.6f,
                veryPositive      = 0.75f
            };
            InterestDegreeLevelThresholdsForMood = levelThresholds;
        }
 protected AchievementLevel GetLevelAwarded(int count)
 {
     return(LevelThresholds.OrderByDescending(l => l.Value)
            .FirstOrDefault(l => l.Value <= count)
            .Key);
 }