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
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);
|
|
}
|
|
}
|
|
}
|
|
|