public void SaveCurrentNetworkAsObject()
 {
     if (FFANN == null)
     {
         return;
     }
     networkObject.ann = FFANN;
     FFANN             = null;
 }
    public void CreateANN()
    {
        isFFANNCreated = true;
        if (networkObject != null)
        {
            FFANN = networkObject.ann;

            if (isVisualizingANN)
            {
                try {
                    visualizationHandler.CreateVisualization(FFANN.GetLayers()[0].GetNeurons().Count, FFANN.GetLayers()[1].GetNeurons().Count, FFANN.GetLayers().Count - 2,
                                                             FFANN.GetLayers()[FFANN.GetLayers().Count - 1].GetNeurons().Count, FFANN.GetLayers());
                } catch (NullReferenceException e) {
                    Debug.LogError(e);
                }
                for (int i = 0; i < FFANN.GetLayers().Count; i++)
                {
                    for (int j = 0; j < FFANN.GetLayers()[i].GetNeurons().Count; j++)
                    {
                        FFANN.GetLayers()[i].GetNeurons()[j].CallNeuronVisualUpdateEvent();
                    }
                }
            }
        }
        else
        {
            if (ANNData != null)
            {
                inputs         = new List <List <double> >(ANNData.CreateInputs());
                desiredOutputs = new List <List <double> >(ANNData.CreateDesiredOutputs());
            }
            FFANN = new FeedForwardArtificialNeuralNetwork(epochs, alpha, numberOfHiddenLayers, numberOfHiddenNeurons, inputs, desiredOutputs,
                                                           hiddenLayerActivationFunction, outputLayerActivationFunction, isDelayingExecution);

            if (isVisualizingANN)
            {
                try {
                    visualizationHandler.CreateVisualization(inputs.Count, numberOfHiddenNeurons, numberOfHiddenLayers, desiredOutputs.Count, FFANN.GetLayers());
                } catch (NullReferenceException e) {
                    Debug.LogError(e);
                }
            }
        }
    }