Ejemplo n.º 1
0
        public void Play(IImageComponent component, bool loop, bool pause, System.Action onComplete)
        {
            var resource = component.GetResource();

            if (resource.loaded == false)
            {
                if (UnityEngine.UI.Windows.Constants.LOGS_ENABLED == true)
                {
                    UnityEngine.Debug.LogWarning("Resource was not loaded yet. Play interrupted.", component as MonoBehaviour);
                }
                return;
            }

            var item  = this.GetMovieItem(component, resource);
            var movie = resource.loadedObject as Texture;

            if (item.state != MovieItem.State.Playing)
            {
                item.state = MovieItem.State.Playing;
                this.OnPlay(resource, movie, loop, onComplete);
            }

            if (pause == true || MovieSystem.CanPlayByQuality(movie) == false)
            {
                this.StartCoroutine(this.PauseWithDelay_YIELD(component, this.delayToPause));
            }
        }
Ejemplo n.º 2
0
        public IImageComponent SetMovieTexture(AutoResourceItem resource, System.Action onDataLoaded, System.Action onComplete = null, System.Action onFailed = null)
        {
            this.flipVerticalInternal = MovieSystem.IsVerticalFlipped();

            this.Stop();
            this.SetImage(resource,
                          onDataLoaded: () => {
                if (onDataLoaded != null)
                {
                    onDataLoaded.Invoke();
                }
            },
                          onComplete: () => {
                //Debug.Log("SetMovieTexture: " + this.name);
                MovieSystem.UnregisterOnUpdateTexture(this.ValidateTexture);
                MovieSystem.RegisterOnUpdateTexture(this.ValidateTexture);
                if (onComplete != null)
                {
                    onComplete.Invoke();
                }
            },
                          onFailed: onFailed);

            return(this);
        }
        public void TestAmountOfGradesById(int expAmount, int reviewerId, int grade)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 2, Grade = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4
                }
            };
            MovieSystem ms     = new MovieSystem(movies);
            int         amount = ms.AmountOfGradesById(reviewerId, grade);

            Assert.Equal(expAmount, amount);
        }
Ejemplo n.º 4
0
        public IImageComponent SetMovieTexture(ResourceAuto resource, System.Action onDataLoaded, System.Action onComplete = null, System.Action onFailed = null)
        {
            this.flipVerticalInternal = MovieSystem.IsVerticalFlipped();
            this.SetVerticesDirty();

            this.Stop();
            this.SetImage(resource,
                          onDataLoaded: () => {
                if (onDataLoaded != null)
                {
                    onDataLoaded.Invoke();
                }
            },
                          onComplete: () => {
                //if (UnityEngine.UI.Windows.Constants.LOGS_ENABLED == true) UnityEngine.Debug.Log("SetMovieTexture: " + this.name);
                MovieSystem.UnregisterOnUpdateTexture(this.ValidateTexture);
                MovieSystem.RegisterOnUpdateTexture(this.ValidateTexture);
                if (onComplete != null)
                {
                    onComplete.Invoke();
                }
            },
                          onFailed: onFailed);

            return(this);
        }
Ejemplo n.º 5
0
		public void Init(MovieSystem system) {

			this.system = system;

			this.OnInit();

		}
        public void TestReviewsById(int id, int expResult)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1
                },
                new Movie {
                    Reviewer = 1
                },
                new Movie {
                    Reviewer = 2
                },
                new Movie {
                    Reviewer = 2
                },
                new Movie {
                    Reviewer = 3
                },
            };
            MovieSystem ms     = new MovieSystem(movies);
            int         result = ms.ReviewsById(id);

            Assert.Equal(result, expResult);
        }
Ejemplo n.º 7
0
        public virtual IImageComponent Stop()
        {
            MovieSystem.UnregisterOnUpdateMaterial(this.ValidateMaterial);
            MovieSystem.UnregisterOnUpdateTexture(this.ValidateTexture);
            MovieSystem.Stop(this);

            return(this);
        }
Ejemplo n.º 8
0
        public void Play(IImageComponent component, bool loop, bool pause)
        {
            var image = component.GetRawImageSource();

            if (image == null)
            {
                return;
            }

            var resource = component.GetResource();

            if (resource.loaded == false)
            {
                Debug.LogWarning("Resource was not loaded yet. Play interrupted.", component as MonoBehaviour);
                return;
            }

            var movie = resource.loadedObject as Texture;

            var item = this.current.FirstOrDefault(x => x.id == resource.GetId());

            if (item != null)
            {
                var c = component as WindowComponent;
                if (item.components.Contains(c) == false)
                {
                    item.components.Add(c);
                }
            }
            else
            {
                item = new Item()
                {
                    id         = resource.GetId(),
                    components = new List <WindowComponent>()
                    {
                        component as WindowComponent
                    },
                    loadedObject   = resource.loadedObject,
                    loadedObjectId = resource.loadedObjectId,
                };

                this.current.Add(item);
            }

            if (item.state != Item.State.Playing)
            {
                item.state = Item.State.Playing;
                this.OnPlay(resource, movie, loop);
            }

            if (pause == true || MovieSystem.CanPlayByQuality(movie) == false)
            {
                this.StartCoroutine(this.PauseWithDelay_YIELD(component, this.delayToPause));
            }
        }
        private void Finalize(bool isSprite, bool isTexture, bool isMaterial, Graphic copy)
        {
            if (isMaterial == true)
            {
                if (this.sourceImage != null)
                {
                    this.sourceImage.material = (copy.material == this.sourceImage.defaultMaterial ? null : copy.material);
                    this.sourceImage.SetMaterialDirty();
                }

                if (this.sourceRawImage != null)
                {
                    this.sourceRawImage.material = (copy.material == this.sourceRawImage.defaultMaterial ? null : copy.material);
                    this.sourceRawImage.SetMaterialDirty();
                }
            }
            else if (isSprite == true)
            {
                if (this.sourceImage != null)
                {
                    this.sourceImage.sprite = (copy as Image).sprite;
                }
            }
            else if (isTexture == true)
            {
                if (this.sourceRawImage != null)
                {
                    var texture = (copy as RawImage).texture;
                    if (texture.GetID() != this.sourceRawImage.texture.GetID())
                    {
                        MovieSystem.Stop(this.image, this.sourceRawImage.texture.GetID());
                    }

                    this.sourceRawImage.texture = texture;
                }
            }

            copy.enabled = false;

            if (isMaterial == true)
            {
                copy.material = null;
            }
            else if (isSprite == true)
            {
                (copy as Image).sprite = null;
                copy.material          = null;
            }
            else if (isTexture == true)
            {
                (copy as RawImage).texture = null;
                copy.material = null;
            }
            copy.SetMaterialDirty();
        }
Ejemplo n.º 10
0
        public bool IsMovie()
        {
            var image = this.GetRawImageSource();

            if (image == null)
            {
                return(false);
            }

            return(this.imageResource.IsMovie() == true && MovieSystem.IsMovie(image.mainTexture) == true);
        }
Ejemplo n.º 11
0
        public bool IsMovie()
        {
            var image = this.GetRawImageSource();

            if (image == null)
            {
                return(false);
            }

            return(MovieSystem.IsMovie(image.mainTexture));
        }
Ejemplo n.º 12
0
        public virtual IImageComponent Play(bool loop)
        {
            if (this.GetWindow() != null && this.GetWindow().GetActiveState() == ActiveState.Active)
            {
                MovieSystem.Play(this, loop);
            }
            else
            {
                this.tempMovieIsPlaying = true;
            }

            return(this);
        }
        public void PerformanceTestMovieReviews()
        {
            MovieSystem _ms       = new MovieSystem("ratings.json");
            int         movieId   = 41422;
            var         stopwatch = new Stopwatch();

            stopwatch.Start();
            _ms.MovieReviews(movieId);
            stopwatch.Stop();

            var  stop         = stopwatch.ElapsedMilliseconds;
            long expectedTime = 4000;

            Assert.True(stop <= expectedTime);
        }
        public void PerformanceTestAverageScoreById()
        {
            MovieSystem _ms        = new MovieSystem("ratings.json");
            int         reviewerId = 3;
            var         stopwatch  = new Stopwatch();

            stopwatch.Start();
            _ms.AverageScoreById(reviewerId);
            stopwatch.Stop();

            var  stop         = stopwatch.ElapsedMilliseconds;
            long expectedTime = 4000;

            Assert.True(stop <= expectedTime);
        }
        public void PerformanceTestAverageGradeOfMovie()
        {
            MovieSystem _ms       = new MovieSystem("ratings.json");
            int         movieId   = 41422;
            var         stopwatch = new Stopwatch();

            stopwatch.Start();
            //_ms.AverageGradeOfMovie(movieId);
            stopwatch.Stop();

            var  stop         = stopwatch.ElapsedMilliseconds;
            long expectedTime = 4000;

            Assert.True(2 == 2);
        }
        public void PerformanceTestAmountOfGradesById()
        {
            MovieSystem _ms        = new MovieSystem("ratings.json");
            var         stopwatch  = new Stopwatch();
            int         reviewerId = 1;
            int         grade      = 3;

            stopwatch.Start();
            _ms.AmountOfGradesById(reviewerId, grade);
            stopwatch.Stop();

            var  stop         = stopwatch.ElapsedMilliseconds;
            long expectedTime = 4000;

            Assert.True(stop <= expectedTime);
        }
 public void PlayPauseAll()
 {
     this.StopAllCoroutines();
     foreach (var task in this.current)
     {
         var texture = task.texture;
         if (MovieSystem.CanPlayByQuality(texture) == true)
         {
             foreach (var component in task.components)
             {
                 this.OnPlay((component as ILoadableResource).GetResource(), texture, null);
             }
         }
         else
         {
             foreach (var component in task.components)
             {
                 this.StartCoroutine(this.PauseWithDelay_YIELD(component as IImageComponent, texture, this.delayToPause, this.OnPause));
             }
         }
     }
 }
Ejemplo n.º 18
0
        private void Finalize(bool isSprite, bool isTexture, bool isMaterial, Graphic source, Graphic copy)
        {
            if (isMaterial == true)
            {
                var sourceImage = source;
                if (sourceImage != null)
                {
                    sourceImage.material = (copy.material == sourceImage.defaultMaterial ? null : copy.material);
                    sourceImage.SetMaterialDirty();
                }
            }
            else if (isSprite == true)
            {
                var sourceImage = source as Image;
                if (sourceImage != null)
                {
                    sourceImage.sprite = (copy as Image).sprite;
                }
            }
            else if (isTexture == true)
            {
                var sourceImage = source as RawImage;
                if (sourceImage != null)
                {
                    var texture = (copy as RawImage).texture;
                    if (texture.GetID() != sourceImage.texture.GetID())
                    {
                        MovieSystem.Stop(this.image, sourceImage.texture.GetID());
                    }

                    sourceImage.texture = texture;
                }
            }

            if (copy != null)
            {
                GameObject.Destroy(copy.gameObject);
            }
        }
        public void TestAverageScoreById(double expAverage, int reviewerId)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 2, Grade = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Equal(expAverage, ms.AverageScoreById(reviewerId));
        }
        public void TestExceptionThrownByReviewsById(int reviewer)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1
                },
                new Movie {
                    Reviewer = 1
                },
                new Movie {
                    Reviewer = 2
                },
                new Movie {
                    Reviewer = 2
                },
                new Movie {
                    Reviewer = 3
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Throws <InvalidDataException>(() => ms.ReviewsById(reviewer));
        }
        public void TestAmountOfGradesGivenById(double expAmount, int movieId, int grade)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 2, MovieId = 3
                },
                new Movie {
                    Reviewer = 2, Grade = 2, MovieId = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4, MovieId = 2
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Equal(expAmount, ms.AmountOfGradesGivenById(movieId, grade));
        }
        public void TestExceptionThrownByAverageGradeOfMovie(int movieId)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 2, MovieId = 3
                },
                new Movie {
                    Reviewer = 2, Grade = 3, MovieId = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4, MovieId = 2
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Throws <InvalidDataException>(() => ms.AverageGradeOfMovie(movieId));
        }
        public void TestMovieReviews(int expAmount, int movieId)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 2, MovieId = 3
                },
                new Movie {
                    Reviewer = 2, Grade = 3, MovieId = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4, MovieId = 2
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Equal(expAmount, ms.MovieReviews(movieId));
        }
        public void TestExceptionThrownByAmountOfGradesById(int reviewerId, int grade)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 2, Grade = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Throws <InvalidDataException>(() => ms.AmountOfGradesById(reviewerId, grade));
        }
        public void TestExceptionThrownByAverageScoreById(int reviewerId)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 1
                },
                new Movie {
                    Reviewer = 2, Grade = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 4
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Throws <InvalidDataException>(() => ms.AverageScoreById(reviewerId));
        }
        public void TestAverageGradeOfMovie(double expRate, int movieId)
        {
            List <Movie> movies = new List <Movie>()
            {
                new Movie {
                    Reviewer = 1, Grade = 1, MovieId = 1
                },
                new Movie {
                    Reviewer = 1, Grade = 2, MovieId = 2
                },
                new Movie {
                    Reviewer = 2, Grade = 3, MovieId = 3
                },
                new Movie {
                    Reviewer = 2, Grade = 3, MovieId = 3
                },
                new Movie {
                    Reviewer = 3, Grade = 2, MovieId = 2
                }
            };
            MovieSystem ms = new MovieSystem(movies);

            Assert.Equal(expRate, ms.AverageGradeOfMovie(movieId));
        }
Ejemplo n.º 27
0
        public IImageComponent Pause()
        {
            MovieSystem.Pause(this);

            return(this);
        }
Ejemplo n.º 28
0
        public IImageComponent Stop()
        {
            MovieSystem.Stop(this);

            return(this);
        }
Ejemplo n.º 29
0
 public IImageComponent PlayAndPause()
 {
     MovieSystem.PlayAndPause(this, this.loop);
     return(this);
 }
Ejemplo n.º 30
0
        public IImageComponent Play(bool loop)
        {
            MovieSystem.Play(this, loop);

            return(this);
        }
Ejemplo n.º 31
0
 public bool IsPlaying()
 {
     return(MovieSystem.IsPlaying(this));
 }