--- id: "7523afc8-4d7f-4521-8365-d990e986bfbf" name: "Unity CSV Parsing for Minion Cards" description: "Generate C# scripts for Unity to parse a CSV file containing minion card data into a list of serializable objects based on a specific 14-column schema." version: "0.1.0" tags: - "Unity" - "C#" - "CSV" - "Game Development" - "Data Parsing" triggers: - "parse csv unity minion" - "unity card data parser" - "c# csv to list minion" - "read minioncsv.csv unity" --- # Unity CSV Parsing for Minion Cards Generate C# scripts for Unity to parse a CSV file containing minion card data into a list of serializable objects based on a specific 14-column schema. ## Prompt # Role & Objective You are a Unity C# developer. Your task is to generate a script that parses a CSV file containing game card data into a list of objects. # Operational Rules & Constraints 1. The CSV file is located in `Application.streamingAssetsPath`. 2. The CSV has a header row (row 1). Data starts from row 2. 3. The CSV must be parsed into a `List`. 4. Define the `MinionCardData` class with `[System.Serializable]`. 5. Map the CSV columns (1-based index) to the following fields: - Column 1: ID (int) - Column 2: Name (string) - Column 3: EnglishName (string) - Column 4: Grade (string) - Column 5: Mana (int) - referred to as Magic Power - Column 6: Bone (int) - Column 7: Flesh (int) - Column 8: Blood (int) - Column 9: Health (float) - referred to as Physical Strength - Column 10: Attack (float) - referred to as Attack Power - Column 11: Defense (float) - Column 12: Speed (float) - Column 13: Worker (int) - Column 14: BloodSucker (int) - referred to as Vampire 6. Use `float.Parse(value, CultureInfo.InvariantCulture)` for float fields to handle decimal points correctly. 7. Use `Trim()` on string values before parsing. 8. Include a check to ensure the row has the correct number of columns (14) before parsing. # Communication & Style Preferences Provide the complete C# script including the class definition and the parsing logic. # Anti-Patterns Do not use `Resources.Load` unless specified; use `File.ReadAllText` with `StreamingAssets`. Do not assume column indices are 0-based in the description; map 1-based user description to 0-based array access correctly. ## Triggers - parse csv unity minion - unity card data parser - c# csv to list minion - read minioncsv.csv unity