public VisualEffect(VisualEffectSerializable serializable, Database database) { Id = new ItemId <VisualEffect>(serializable.Id, serializable.FileName); Elements = serializable.Elements?.Select(item => new VisualEffectElement(item, database)).ToArray(); OnDataDeserialized(serializable, database); }
private VisualEffect(VisualEffectSerializable serializable, Database.Loader loader) { Id = new ItemId <VisualEffect>(serializable.Id); loader.AddVisualEffect(serializable.Id, this); Elements = new ImmutableCollection <VisualEffectElement>(serializable.Elements?.Select(item => VisualEffectElement.Create(item, loader))); OnDataDeserialized(serializable, loader); }
public VisualEffectSerializable Serialize() { var serializable = new VisualEffectSerializable(); serializable.Id = ItemId.Id; serializable.FileName = ItemId.Name; serializable.ItemType = (int)ItemType.VisualEffect; serializable.Elements = Elements?.Select(item => item.Serialize()).ToArray(); return(serializable); }
public void Save(VisualEffectSerializable serializable) { if (Elements == null || Elements.Length == 0) { serializable.Elements = null; } else { serializable.Elements = Elements.Select(item => item.Serialize()).ToArray(); } OnDataSerialized(ref serializable); }
partial void OnDataSerialized(ref VisualEffectSerializable serializable);
partial void OnDataDeserialized(VisualEffectSerializable serializable, Database database);
private VisualEffectData(VisualEffectSerializable serializable, Database database) { ItemId = new ItemId <VisualEffectData>(serializable.Id, serializable.FileName); Elements = serializable.Elements?.Select(item => VisualEffectElementData.Deserialize(item, database)).ToArray(); }
public static VisualEffectData Deserialize(VisualEffectSerializable serializable, Database database) { return(new VisualEffectData(serializable, database)); }
public static VisualEffect Create(VisualEffectSerializable serializable, Database.Loader loader) { return(new VisualEffect(serializable, loader)); }
partial void OnDataDeserialized(VisualEffectSerializable serializable, Database.Loader loader);