public static BaseSource ConvertToSource(StageComponent comp) { if (comp is VideoMedia media) { if (media.FromYoutube) { return(new YoutubeSource(media.Identifier, media.Thumbnail.OriginalString, media.DownloadID)); } else { return(new ExternalVideoSource() { FullPath = media.Path, Id = media.Id, ThumbnailUri = media.Thumbnail.OriginalString, Title = media.Identifier, }); } } else if (comp is LightComponent lightComponent) { return(new LightSource() { Id = lightComponent.Id, MovingData = BoardSerializer.SerializeToString(lightComponent.SetterBoard), Title = lightComponent.Identifier, }); } return(null); }
public LightComponent(SetterBoard setterBoard) : this() { SetterBoard = setterBoard; Identifier = setterBoard.Identifier; Time = TimeSpan.FromSeconds(20); Thumbnail = new Uri("pack://application:,,,/Delight;component/Resources/defaultLightImage.png"); Id = Crc32.GetHashFromString(BoardSerializer.SerializeToString(setterBoard)); }