using JetBrains.Annotations; using System; using System.Collections.Generic; /// <summary> /// Collector for the Json files for the ID's and Paths /// </summary> [Serializable] public struct AspectReference { public int id; // Aspect ID, seperate for each aspect public string path; // Path ID, seperate for each aspect, but each type leads to same folder /// <summary> /// Constructor for struct /// </summary> /// <param name="id">Aspect ID</param> /// <param name="path">Aspect Path</param> public AspectReference(int id, string path) { this.id = id; this.path = path; } } [Serializable] public struct AspectReferenceExpanded { public int stockId; public string shopName; public string ownerName; public int[] weaponIds; public int[] weaponAmounts; public int[] apparelIds; public int[] apparelAmounts; public int[] consumableIds; public int[] consumableAmounts; public int[] generalIds; public int[] generalAmounts; public int[] relicIds; public int[] relicAmounts; public AspectReferenceExpanded(int stockId, string shopName, string ownerName, int[] weaponIds, int[] weaponAmounts, int[] apparelIds, int[] apparelAmounts, int[] consumableIds, int[] consumableAmounts, int[] generalIds, int[] generalAmounts, int[] relicIds, int[] relicAmounts) { this.stockId = stockId; this.shopName = shopName; this.ownerName = ownerName; this.weaponIds = weaponIds; this.weaponAmounts = weaponAmounts; this.apparelIds = apparelIds; this.apparelAmounts = apparelAmounts; this.consumableIds = consumableIds; this.consumableAmounts = consumableAmounts; this.generalIds = generalIds; this.generalAmounts = generalAmounts; this.relicIds = relicIds; this.relicAmounts = relicAmounts; } } /// <summary> /// Wrapper for the Object Arrays in each of the Json files /// </summary> [Serializable] public class AspectReferenceCollection { public List<AspectReference> references; public AspectReferenceCollection() => references = new List<AspectReference>(); } [Serializable] public class AspectReferenceCollectionExpanded { public List<AspectReferenceExpanded> referencesExpanded; public AspectReferenceCollectionExpanded() => referencesExpanded = new List<AspectReferenceExpanded>(); }