You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.8 KiB

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<MeshRenderer>(); } }
private AudioSource audio_source;
private Vector2 size = Vector2.zero;
void Awake()
{
load(movieFilename, movieLoop);
audio_source = GetComponent<AudioSource>();
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);
}
}
}