void TrainButton_Click(dfControl control, dfMouseEventArgs mouseEvent)
    {
        dfButton but = control as dfButton;

        if (EARunning)
        {
            Optimizer.StopEA();
            but.Text             = "Stopping";
            but.TextColor        = new Color32(245, 171, 0, 255);
            but.FocusTextColor   = new Color32(245, 171, 0, 255);
            but.HoverTextColor   = new Color32(245, 171, 0, 255);
            but.PressedTextColor = new Color32(245, 171, 0, 255);
        }
        else
        {
            Optimizer.StartEA();
            but.Text             = "Stop";
            but.TextColor        = new Color32(205, 0, 0, 255);
            but.FocusTextColor   = new Color32(205, 0, 0, 255);
            but.HoverTextColor   = new Color32(255, 0, 0, 255);
            but.PressedTextColor = new Color32(255, 0, 0, 255);
            EARunning            = true;

            startTime = DateTime.Now.Ticks / (TimeSpan.TicksPerMillisecond * 1000);
            Time      = 0;

            RunBestButton.Disable();
        }
    }
    void Optimizer_EAStopped(object sender, EventArgs e)
    {
        buttonText                   = "Train";
        TrainButton.Text             = "Train";
        TrainButton.TextColor        = new Color32(0, 205, 0, 255);
        TrainButton.FocusTextColor   = new Color32(0, 205, 0, 255);
        TrainButton.HoverTextColor   = new Color32(0, 255, 0, 255);
        TrainButton.PressedTextColor = new Color32(0, 255, 0, 255);
        EARunning = false;
        Settings.Brain.TotalTime += Time;

        RunBestButton.Enable();
    }