public MainActivity Decide() { if (activityManager.workIsCalled) { return(MainActivity.Work); } List <MainActivity> roulette = new List <MainActivity>(); AddFitnessToRoulette(roulette, MainActivity.PlayVideoGame, playVideoGameFitness); if (stats.AllInZone()) { AddFitnessToRoulette(roulette, MainActivity.Work, workFitnessIfInZone); } if (activityManager.BedIsPrepared()) { AddFitnessToRoulette(roulette, MainActivity.Sleep, bedIsMadeFitness); } if (activityManager.HasFood()) { AddFitnessToRoulette(roulette, MainActivity.Eat, hasFoodFitness); } var result = roulette[Random.Range(0, roulette.Count)]; Logger.Format(result.ToString()); return(result); }