static void OnPrepareStampForSerialization(SerializedItem stamp, IItemProperties properties) { SerializedStampEventArgs serializedStampEventArgs = new SerializedStampEventArgs(); serializedStampEventArgs.Item = stamp; serializedStampEventArgs.Properties = properties; PrepareItemForSerialization?.Invoke(null, serializedStampEventArgs); }
public static SerializedItem From(IItemProperties itemProperties) { SerializedItem serializedItem = new SerializedItem(); serializedItem.GetValuesFrom(itemProperties); OnPrepareStampForSerialization(serializedItem, itemProperties); return(serializedItem); }
void SerializeStamps(List <IItemProperties> selectedStamps) { storedStamps.Clear(); foreach (IItemProperties stampProperties in selectedStamps) { SerializedItem serializedStamp = SerializedItem.From(stampProperties); storedStamps.Add(JsonConvert.SerializeObject(serializedStamp)); } }
List <Guid> DeserializeStoredStamps(Map map) { List <Guid> guidsRestored = new List <Guid>(); List <SerializedItem> serializedStamps = new List <SerializedItem>(); foreach (string storedStamp in storedStamps) { SerializedItem serializedStamp = JsonConvert.DeserializeObject <SerializedItem>(storedStamp); serializedStamps.Add(serializedStamp); guidsRestored.Add(serializedStamp.Guid); } map.ReconstituteItems(map.Items, serializedStamps); return(guidsRestored); }
public void AddChild(SerializedItem serializedStamp) { Children.Add(serializedStamp); }
void OnAddItem(List <IItemProperties> items, SerializedItem serializedItem) { reconstituteStampsEventArgs.Items = items; reconstituteStampsEventArgs.SerializedItem = serializedItem; ReconstitutingItems?.Invoke(this, reconstituteStampsEventArgs); }
SerializedItem NewSerializedStamp(IItemProperties stampProperties) { return(SerializedItem.From(stampProperties)); }