using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using uc; using UnityEngine.Events; public class AVProQuad : MonoBehaviour { public DShowClip movieFilename; public bool movieLoop; public MoviePlayerPool.QueryStrategy strategy; public Vector2 Size { get { return size; } } [SerializeField] private MoviePlayerBase avpro_movie; //public AVProQuickTimeMovie AvProMovie { get { return avpro_movie; } } private MeshRenderer meshRenderer { get { return GetComponent(); } } private AudioSource audio_source; private Vector2 size = Vector2.zero; void Awake() { load(movieFilename, movieLoop); audio_source = GetComponent(); if (audio_source != null) { audio_source.loop = movieLoop; } //meshRenderer.material = new Material(Shader.Find("Sprites/Default")); } IEnumerator Start() { while (avpro_movie == null) yield return null; if (avpro_movie != null) { avpro_movie.Play(); } if (audio_source != null) audio_source.Play(); } public void Update() { if (avpro_movie != null) { meshRenderer.material.SetTexture("_MainTex", avpro_movie.Texture); if(avpro_movie.Texture != null) size = new Vector2(avpro_movie.Texture.width, avpro_movie.Texture.height); } } public void load(DShowClip filename, bool loop) { avpro_movie = MoviePlayerPool.Singleton.GetMoviePlayer(filename, loop, strategy); } private void OnDestroy() { if(strategy == MoviePlayerPool.QueryStrategy.CreateNew) { MoviePlayerPool.Singleton.releaseMovie(avpro_movie); } } }