private BattleExperiment CreateExperiment(int warriors)
        {
            var experiment = new BattleExperiment();

            var battleEvaluator = new BattleEvaluator<NeatGenome>(this);

            experiment._ea = experiment.CreateEvolutionAlgorithm(battleEvaluator, warriors);
            Debug.Log("Experiment created");
            return experiment;
        }
        public void Initialize(Vector2 pos, int amoutOfWarriorsOwns, int team, bool freeze)
        {
            Debug.Assert(amoutOfWarriorsOwns > 5);
            transform.position = pos;
            defaultPos = pos;
            experiment = CreateExperiment(amoutOfWarriorsOwns);
            decoder = experiment.CreateDecoder();
            this.team = team;

            this.amoutOfWarriorsOwns = amoutOfWarriorsOwns;

            pointsToVisitDuringTraining = new List<Vector3>();

            initialized = true;

            lineRenderer = GetComponent<LineRenderer>();
            isEvolutionFreezed = freeze;

            nextPosChange = new Vector2();
        }