protected override void SetupFromSplitJsonString(string[] splitJsonString) { name = splitJsonString[0]; rarities = EnumSetting.Load(splitJsonString[1]); books = EnumSetting.Load(splitJsonString[2]); itemCollectionFilter = ItemCollectionFilter <TItemCollectionFilter, TItemCollection, TItem> .CreateFromJsonString(splitJsonString[3]); isItemOrderLocked = Wrapper <bool> .CreateFromJsonString(splitJsonString[4]); items = new TItem[splitJsonString.Length - 5]; for (int i = 0; i < items.Length; i++) { items[i] = Item <TItem> .CreateFromJsonString(splitJsonString[i + 5]); } itemCollectionFilter.ApplyFilter(this as TItemCollection); }
protected override string ConvertToJsonString(string[] jsonSplitter) { string jsonString = ""; jsonString += name + jsonSplitter[0]; jsonString += rarities.name + jsonSplitter[0]; jsonString += books.name + jsonSplitter[0]; jsonString += ItemCollectionFilter <TItemCollectionFilter, TItemCollection, TItem> .GetJsonString(itemCollectionFilter) + jsonSplitter[0]; jsonString += Wrapper <bool> .GetJsonString(isItemOrderLocked) + jsonSplitter[0]; for (int i = 0; i < items.Length; i++) { jsonString += Item <TItem> .GetJsonString(items[i]) + jsonSplitter[0]; } return(jsonString); }
public static TItemCollection Create(string name, EnumSetting rarities, EnumSetting books) { TItemCollection newItemCollection = CreateInstance <TItemCollection>(); if (CheckName(name) == NameCheckResult.Bad) { throw new UnityException("Collection name invalid, contains invalid characters."); } if (CheckName(name) == NameCheckResult.IsDefault) { throw new UnityException("Collection name invalid, name cannot start with Default"); } newItemCollection.name = name; newItemCollection.rarities = rarities; newItemCollection.books = books; newItemCollection.itemCollectionFilter = ItemCollectionFilter <TItemCollectionFilter, TItemCollection, TItem> .CreateBlank(rarities, books); newItemCollection.items = new TItem[0]; SaveableHolder.AddSaveable(newItemCollection); return(newItemCollection); }