private static void RankFitness(EnemyTypes enemyType, List <SerializableChromosome> chromosomes)
        {
            ChromosomeFitnessFunction.EnemyType        = enemyType;
            ChromosomeFitnessFunction.PartialInputList = MachineLearningManager.GetFitnessRankingInput();

            foreach (var chromosome in chromosomes)
            {
                chromosome.Evaluate(ChromosomeFitnessFunction);
            }
        }
            public double Evaluate(IChromosome chromosome)
            {
                //var baseFitness = EnemyType.PointValue();
                //var geneticEvaluation = ((EnemyType.PointValue(chromosome as SerializableChromosome) / baseFitness) - 1)/0.1;

                var machinelearningEvaluation = 0.0;

                if (MachineLearningManager.IsReadyToEvaluate)
                {
                    machinelearningEvaluation = MachineLearningManager.Evaluate(new List <double>(PartialInputList),
                                                                                EnemyType, chromosome as SerializableChromosome);
                }

                return(machinelearningEvaluation);
            }
        private static void LoadAllGameData()
        {
            GeneticsManager.Initialize();
            MachineLearningManager.LoadData(TempModelFileName, TempWaveDataFileName);
            LoadDialogue();
            HasLoadedData = true;
#if DEBUG
            if (DebugVariables.ShouldTestDialogue)
            {
                TestDialogue();
            }
            if (DebugVariables.ShouldExportDialogue)
            {
                ExportDialogue();
            }
        }