private void InstantiateProfileKeyframeEngines(Profile profile) { // Only instantiate engines for properties without an existing engine instance foreach (var layerProperty in profile.GetAllLayers().SelectMany(l => l.Properties).Where(p => p.KeyframeEngine == null)) { _layerService.InstantiateKeyframeEngine(layerProperty); } }
public void AddLayer() { if (!SupportsChildren) { throw new ArtemisUIException("Cannot add a layer to a profile element of type " + ProfileElement.GetType().Name); } var layer = new Layer(ProfileElement.Profile, ProfileElement, "New layer"); foreach (var baseLayerProperty in layer.Properties) { _layerService.InstantiateKeyframeEngine(baseLayerProperty); } ProfileElement.AddChild(layer); UpdateProfileElements(); _profileEditorService.UpdateSelectedProfile(); }