/// <summary>
    /// Initialize the class with its type.
    /// </summary>
    /// <param name="type"></param>
    public override void Initialize(UnitType type)
    {
        base.Initialize(type);

        _raycast = GetComponent <Raycast>();

        _neuralNetwork = new NeuralNetwork();
        //_neuralNetwork.Create( new int[]{ 5, 2});

        _raycast.Initialize();

        Reset();
    }
    /// <summary>
    /// Initializes the class with its type.
    /// </summary>
    /// <param name="type"></param>
    public override void Initialize(UnitType type)
    {
        base.Initialize(type);

        _raycast = GetComponent <Raycast>();

        _raycast.Initialize();

        _distances = new List <float>(_raycast.numberOfRays);

        for (int i = 0; i < _raycast.numberOfRays; i++)
        {//sets up distances to be the amount of rays being casted
            _distances.Add(1);
        }

        _progressingDistance = 0;
        _rightForce          = 0;
        _leftForce           = 0;
    }