// In future versions this will probably be split out into a framework level notion protected virtual IItem CloneItem(IItem item) { var duplicatedVariables = new DefaultItemVariables(); if (item.Variables.ContainsKey(ItemVariableTypes.Amount)) { duplicatedVariables.Amount(item.Variables.Amount()); } return(new DefaultItem { Modifications = item.Modifications.ToArray(), ItemTemplate = item.ItemTemplate, Variables = duplicatedVariables }); }
public static IItemVariables Clone(this DefaultItemVariables itemVariables) { return(new DefaultItemVariables { InternalVariables = new Dictionary <int, object>(itemVariables.InternalVariables) }); }