//-------------------------------------------------------------------------

    void Awake()
    {
        if (!_isInitialised)
        {
            _instance = this;
            Init();
        }
    }
	//-------------------------------------------------------------------------
	
	void Awake()
	{
		if (!_isInitialised)
		{
			_instance = this;
			Init();
		}
	}
    //-------------------------------------------------------------------------

    void Start()
    {
        if (!_isInitialised)
        {
            _instance = this;
            Init();
        }
    }
    public void Deinit()
    {
        // Clean up any open movies
        AVProWindowsMediaMovie[] movies = (AVProWindowsMediaMovie[])FindObjectsOfType(typeof(AVProWindowsMediaMovie));
        if (movies != null && movies.Length > 0)
        {
            for (int i = 0; i < movies.Length; i++)
            {
                movies[i].UnloadMovie();
            }
        }

        _instance      = null;
        _isInitialised = false;

        AVProWindowsMediaPlugin.Deinit();
    }
	public override void OnInspectorGUI()
	{
		_manager = (this.target) as AVProWindowsMediaManager;

		if (!Application.isPlaying)
		{
			this.DrawDefaultInspector();
		}

		/*if (!Application.isPlaying) 
		{
			_manager._useExternalTextures = GUILayout.Toggle(_manager._useExternalTextures, "Use External Textures (beta)");
		}*/

		if (GUILayout.Button ("Update"))
		{
			UpdateMovies();
		}

		if (_movies != null && _movies.Length > 0)
		{
			for (int i = 0; i < _movies.Length; i++)
			{
				GUILayout.BeginHorizontal();

				GUI.color = Color.white;
				if (!_movies[i].enabled || !_movies[i].gameObject.activeInHierarchy)
					GUI.color = Color.grey;

				AVProWindowsMedia media = _movies[i].MovieInstance;
				if (media != null)
				{
					GUI.color = Color.yellow;
					if (media.IsPlaying)
						GUI.color = Color.green;
				}

				if (GUILayout.Button("S"))
				{
					Selection.activeObject = _movies[i];
				}
				GUILayout.Label(i.ToString("D2") + " " + _movies[i].name, GUILayout.MinWidth(128f));
				//GUILayout.FlexibleSpace();
				if (media != null)
				{
					GUILayout.Label(media.Width + "x" + media.Height);
					GUILayout.FlexibleSpace();
					GUILayout.Label(string.Format("{0:00.0}", media.DisplayFPS) + " FPS");
					//GUILayout.FlexibleSpace();
				}
				else
				{
					GUILayout.FlexibleSpace();
				}



				GUILayout.EndHorizontal();

				if (media != null)
				{
					GUILayout.HorizontalSlider(media.PositionSeconds, 0f, media.DurationSeconds, GUILayout.MinWidth(128f), GUILayout.ExpandWidth(true));
				}
			}
		}
		else
		{
			if (Event.current.type.Equals(EventType.Repaint))
			{
				UpdateMovies();
			}
		}

		if (GUI.changed)
		{
			EditorUtility.SetDirty(_manager);
		}		
	}
	public void Deinit()
	{
		// Clean up any open movies
		AVProWindowsMediaMovie[] movies = (AVProWindowsMediaMovie[])FindObjectsOfType(typeof(AVProWindowsMediaMovie));
		if (movies != null && movies.Length > 0)
		{
			for (int i = 0; i < movies.Length; i++)
			{
				movies[i].UnloadMovie();
			}
		}
		
		_instance = null;
		_isInitialised = false;
		
		AVProWindowsMediaPlugin.Deinit();
	}
 //-------------------------------------------------------------------------
 void Start()
 {
     if (!_isInitialised)
     {
         _instance = this;
         Init();
     }
 }
Пример #8
0
    public override void OnInspectorGUI()
    {
        _manager = (this.target) as AVProWindowsMediaManager;

        if (!Application.isPlaying)
        {
            this.DrawDefaultInspector();
        }

        /*if (!Application.isPlaying)
         * {
         *      _manager._useExternalTextures = GUILayout.Toggle(_manager._useExternalTextures, "Use External Textures (beta)");
         * }*/

        if (GUILayout.Button("Update"))
        {
            UpdateMovies();
        }

        if (_movies != null && _movies.Length > 0)
        {
            for (int i = 0; i < _movies.Length; i++)
            {
                GUILayout.BeginHorizontal();

                GUI.color = Color.white;
                if (!_movies[i].enabled || !_movies[i].gameObject.activeInHierarchy)
                {
                    GUI.color = Color.grey;
                }

                AVProWindowsMedia media = _movies[i].MovieInstance;
                if (media != null)
                {
                    GUI.color = Color.yellow;
                    if (media.IsPlaying)
                    {
                        GUI.color = Color.green;
                    }
                }

                if (GUILayout.Button("S"))
                {
                    Selection.activeObject = _movies[i];
                }
                GUILayout.Label(i.ToString("D2") + " " + _movies[i].name, GUILayout.MinWidth(128f));
                //GUILayout.FlexibleSpace();
                if (media != null)
                {
                    GUILayout.Label(media.Width + "x" + media.Height);
                    GUILayout.FlexibleSpace();
                    GUILayout.Label(string.Format("{0:00.0}", media.DisplayFPS) + " FPS");
                    //GUILayout.FlexibleSpace();
                }
                else
                {
                    GUILayout.FlexibleSpace();
                }



                GUILayout.EndHorizontal();

                if (media != null)
                {
                    GUILayout.HorizontalSlider(media.PositionSeconds, 0f, media.DurationSeconds, GUILayout.MinWidth(128f), GUILayout.ExpandWidth(true));
                }
            }
        }
        else
        {
            if (Event.current.type.Equals(EventType.Repaint))
            {
                UpdateMovies();
            }
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(_manager);
        }
    }