public static MediaElementController CreateController(MovieManager movieManager, int screens) { switch (Settings.Instance.MovieWindowsMode) { case MovieWindowsMode.PrimaryScreenOnly: return new PrimayScreenOnlyController(movieManager, screens); case MovieWindowsMode.AllScreensSameMovie: return new AllScreensSameMovieController(movieManager, screens); case MovieWindowsMode.AllScreenDifferentMovies: return new AllScreenDifferentMoviesController(movieManager, screens); default: throw new ArgumentOutOfRangeException(); } }
protected MediaElementController(MovieManager movieManager, int screens) { MovieManager = movieManager; if (Settings.Instance.MovieWindowsMode == MovieWindowsMode.PrimaryScreenOnly) { MediaElements = new MediaElement[screens]; MediaElements[0] = CreateMediaElement(0); } else { MediaElements = Enumerable .Range(0, screens) .Select(CreateMediaElement) .ToArray(); } }
public PrimayScreenOnlyController(MovieManager movieManager, int screens) : base(movieManager, screens) { }
public AllScreenDifferentMoviesController(MovieManager movieManager, int screens) : base(movieManager, screens) { }
public AllScreensSameMovieController(MovieManager movieManager, int screens) : base(movieManager, screens) { }