Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }