private ItemType addAspectsFromRawType(ItemType type, RawItemType raw)
 {
     foreach (var rawTypeTypeAspect in raw.typeAspects)   // create type aspects
     {
         type.add(createAspect(rawTypeTypeAspect, type));
     }
     foreach (var rawAspect in raw.aspects)
     {
         KeyValuePair <string, string[]> pair = parseAspectString(rawAspect);
         type.itemAspects.Add(pair.Key, new List <string>(pair.Value));
     }
     return(type);
 }
 public ItemType process(RawItemType rawType)
 {
     return(addAspectsFromRawType(new ItemType(rawType), rawType));
 }
        public ItemType processExtendedType(RawItemType rawType, string namePrefix)
        {
            ItemType baseType = ItemTypeMap.getItemType(rawType.baseItem); // get base type

            return(addAspectsFromRawType(new ItemType(baseType, rawType, namePrefix), rawType));
        }