Пример #1
0
    public List <template_item_variation> GetItemVariations(template_item item)
    {
        List <template_item_variation> variations = new List <template_item_variation>();

        for (int k = 0; k < item.Template.item_data.item_variations.Count; ++k)
        {
            template_item_variation variation = item.Template.item_data.item_variations[k] as template_item_variation;
            switch (variation.Template.item_accessory_variation.item_accessory_type)
            {
            case item_accessory_type.item_head:
                variations.Add(variation);
                break;

            case item_accessory_type.item_body:
                variations.Add(variation);
                break;
            }
        }

        return(variations);
    }
Пример #2
0
    private void ReadItemData(template_item item)
    {
        if (item.Template.item_data.item_variable.RawScript == "")
        {
            Debug.Log("No item variable for item: " + item.Template.item_data.item_name);
            return;
        }

        if (item.Template.item_data.item_slot_number == -1 && item != GetStarterBody() && item != GetStarterHead())
        {
            Debug.Log("Item set to be not listed in shop: " + item.Template.item_data.item_name);
            return;
        }

        switch (item.Template.item_data.item_type_category)
        {
        case item_type_category.ItemVisualAccessory:
            if (item.Template.item_data.item_variations.Count > 0)
            {
                int slotNum = item.Template.item_data.item_slot_number;
                if (item == GetStarterBody() || item == GetStarterHead())
                {
                    slotNum = 0;
                }
                ItemDictionary[slotNum].Add(item);
            }
            else
            {
                Debug.Log("Skipping visual accessory without variations: " + item.DisplayName);
            }
            for (int k = 0; k < item.Template.item_data.item_variations.Count; ++k)
            {
                template_item_variation variation = item.Template.item_data.item_variations[k] as template_item_variation;
                switch (variation.Template.item_accessory_variation.item_accessory_type)
                {
                case item_accessory_type.item_head:
                    if (!BaseHeadList.Contains(item))
                    {
                        BaseHeadList.Add(item);
                    }
                    HeadList.Add(variation);
                    break;

                case item_accessory_type.item_body:
                    if (!BaseBodyList.Contains(item))
                    {
                        BaseBodyList.Add(item);
                    }
                    BodyList.Add(variation);
                    break;
                }
            }
            //HeadList.Add(item);
            //BodyList.Add(item);
            break;

        case item_type_category.ItemToy:
            ItemDictionary[item.Template.item_data.item_slot_number].Add(item);
            break;

        case item_type_category.ItemInfoTool:
            ItemDictionary[item.Template.item_data.item_slot_number].Add(item);
            break;
        }
    }