public static Dictionary<char, CharacterData> Parse(string filePath) { // create a dictionary that will be filled and returned by Parse Dictionary<char, CharacterData> charDictionary = new Dictionary<char, CharacterData>(); // fill string array with lines from the specified file string[] lines = File.ReadAllLines(filePath); for (int i = HeaderSize /*ignore header lines*/; i < lines.Length; i++) { string firstLine = lines[i]; // splits each line into an array using " " as the delimiter string[] typesAndValues = firstLine.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); // All the data comes in a certain order // used to make the parser shorter CharacterData charData = new CharacterData { Id = GetValue(typesAndValues[1]), X = GetValue(typesAndValues[2]), Y = GetValue(typesAndValues[3]), Width = GetValue(typesAndValues[4]), Height = GetValue(typesAndValues[5]), XOffset = GetValue(typesAndValues[6]), YOffset = GetValue(typesAndValues[7]), XAdvance = GetValue(typesAndValues[8]), }; charDictionary.Add((char)charData.Id, charData); } return charDictionary; }
public CharacterSprite(Sprite sprite, CharacterData data) { Sprite = sprite; Data = data; }