playerDataList = new List(); protected override void PopulateData(ParsedDataList data) { if(data.TryGetParsedData( 0, out var parsedData)) { playerDataList = EasyParser.ParseRowsData( parsedData, i => new CharacterData { name = parsedData.GetString(i,0), description = parsedData.GetString(i,1), stars = parsedData.GetInt(i,2), attackRate = parsedData.GetFloat(i,3), damage = parsedData.GetFloat(i,4), rarity = parsedData.GetEnum(i,5), cost = parsedData.GetInt(i,7) }); } } }"> playerDataList = new List(); protected override void PopulateData(ParsedDataList data) { if(data.TryGetParsedData( 0, out var parsedData)) { playerDataList = EasyParser.ParseRowsData( parsedData, i => new CharacterData { name = parsedData.GetString(i,0), description = parsedData.GetString(i,1), stars = parsedData.GetInt(i,2), attackRate = parsedData.GetFloat(i,3), damage = parsedData.GetFloat(i,4), rarity = parsedData.GetEnum(i,5), cost = parsedData.GetInt(i,7) }); } } }"> playerDataList = new List(); protected override void PopulateData(ParsedDataList data) { if(data.TryGetParsedData( 0, out var parsedData)) { playerDataList = EasyParser.ParseRowsData( parsedData, i => new CharacterData { name = parsedData.GetString(i,0), description = parsedData.GetString(i,1), stars = parsedData.GetInt(i,2), attackRate = parsedData.GetFloat(i,3), damage = parsedData.GetFloat(i,4), rarity = parsedData.GetEnum(i,5), cost = parsedData.GetInt(i,7) }); } } }">
[CreateAssetMenu(menuName = "Create CharactersDataBase", fileName = "CharactersDataBase", order = 0)]
public class  CharactersDataBase : ParsedScriptableObject
{
    public List<CharacterData> playerDataList = new List<CharacterData>();
    
    protected override void PopulateData(ParsedDataList data)
    {
        if(data.TryGetParsedData( 0, out var parsedData))
        {
            playerDataList = EasyParser.ParseRowsData( parsedData, i => new CharacterData
            {
                name = parsedData.GetString(i,0),
                description = parsedData.GetString(i,1),
                stars = parsedData.GetInt(i,2),
                attackRate = parsedData.GetFloat(i,3),
                damage = parsedData.GetFloat(i,4),
                rarity = parsedData.GetEnum<Rarity>(i,5),
                cost = parsedData.GetInt(i,7)
            });
        }
    }
}

Class Overview

The class inherits from ParsedScriptableObject and overrides the PopulateData method to parse data into a structured format. It maintains a list of CharacterData objects representing individual characters with various attributes.


Fields

playerDataList

  • TypeList<CharacterData>
  • Description: A list of CharacterData objects that stores parsed character information, including name, description, stats, rarity, and cost.
  • Default Value: An empty list.

Methods

PopulateData(ParsedDataList data)

  • Access Modifierprotected override
  • Description: Populates the playerDataList field by parsing data from the provided ParsedDataList.
  • Parameters:
    • data (ParsedDataList): A structured list of parsed data rows to be processed.
  • Functionality:
    1. Attempts to retrieve parsed data using TryGetParsedData(0, out var parsedData).
    2. If successful, calls EasyParser.ParseRowsData to process the rows and map them into CharacterData objects.
    3. Each row in the parsed data is converted to a CharacterData object using a lambda function.
  • Dependencies:
    • EasyParser.ParseRowsData: A utility function used to parse rows into strongly-typed objects.
    • CharacterData: A data structure representing individual character attributes.
    • ParsedDataList: The source of raw data to be parsed.

Parsing Details