public void PrepareTextData(string[] linesOfText)
    {
        RawLineOfText[] rawLinesOfText     = new RawLineOfText[linesOfText.Length];
        int             numberOfBlankLines = 0;

        //Store lines of text in array and mark any blank or junk lines
        for (int i = 0; i < linesOfText.Length; i++)
        {
            rawLinesOfText[i].text   = linesOfText[i];
            rawLinesOfText[i].isData = true;

            //Add the text into a char array for checking
            char[] charArr = rawLinesOfText[i].text.ToCharArray();

            //Check if line is blank
            if (charArr.Length <= 0)
            {
                rawLinesOfText[i].isData = false;
            }

            //Check if line is a comment
            if (charArr.Length >= 2)
            {
                if (charArr[0] == AsciiTable.ForwardSlash && charArr[1] == AsciiTable.ForwardSlash)
                {
                    //Line is a comment.
                    rawLinesOfText[i].isData = false;
                }
            }

            //Check if line is full of spaces
            foreach (char ch in charArr)
            {
                if (ch != AsciiTable.Space)
                {
                    break;
                }
                rawLinesOfText[i].isData = false;
            }

            //The line doesn't have data so ignore
            if (rawLinesOfText[i].isData == false)
            {
                numberOfBlankLines++;
            }
        }

        string[] linesOfData = new string[rawLinesOfText.Length - numberOfBlankLines];

        int x = 0;

        foreach (RawLineOfText line in rawLinesOfText)
        {
            if (line.isData)
            {
                linesOfData[x] = string.Copy(line.text);
                x++;
            }
        }

        ProcessData(linesOfData);
    }
    public void LoadDataFromLocalTextFile(string _filePath)
    {
        filePath = Application.dataPath + _filePath;

        #region Loading the Text file and formatting it

        StreamReader reader = new StreamReader(filePath);

        int numberOfLinesInTextFile = 0;
        while (!reader.EndOfStream)
        {
            numberOfLinesInTextFile++;
            reader.ReadLine();
        }

        reader.Close();

        reader = new StreamReader(filePath);


        RawLineOfText[] rawLinesOfText     = new RawLineOfText[numberOfLinesInTextFile];
        int             numberOfBlankLines = 0;

        //Store lines of text in array and mark any blank or junk lines
        for (int i = 0; i < numberOfLinesInTextFile; i++)
        {
            rawLinesOfText[i].text   = reader.ReadLine().ToString();
            rawLinesOfText[i].isData = true;

            //Add the text into a char array for checking
            char[] charArr = rawLinesOfText[i].text.ToCharArray();

            //Check if line is blank
            if (charArr.Length <= 0)
            {
                rawLinesOfText[i].isData = false;
            }

            //Check if line is a comment
            if (charArr.Length >= 2)
            {
                if (charArr[0] == AsciiTable.ForwardSlash && charArr[1] == AsciiTable.ForwardSlash)
                {
                    //Line is a comment.
                    rawLinesOfText[i].isData = false;
                }
            }

            //Check if line is full of spaces
            foreach (char ch in charArr)
            {
                if (ch != AsciiTable.Space)
                {
                    break;
                }
                rawLinesOfText[i].isData = false;
            }

            //The line doesn't have data so ignore
            if (rawLinesOfText[i].isData == false)
            {
                numberOfBlankLines++;
            }
        }

        reader.Close();

        string[] linesOfData = new string[rawLinesOfText.Length - numberOfBlankLines];

        int x = 0;
        foreach (RawLineOfText line in rawLinesOfText)
        {
            if (line.isData)
            {
                linesOfData[x] = string.Copy(line.text);
                x++;
            }
        }

        #endregion

        ProcessData(linesOfData);
    }