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); }
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; } }