public void Dispose() { MediaPlayer.CloseVideo(); MediaPlayer = null; DisplayUGUI = null; FinishedPlaying = null; m_GGraph.Dispose(); }
public async void CreateAVObject(GGraph gGraph, string videoName, bool autoOpen, bool autoStart, bool loop, float volume) { m_GGraph = gGraph; string assetPathName = GlobalPath.Hoftix.GetAVObejct_PrefabAsset(videoName); LoadAssetCallbacks loadAsset = await CentorPivot.This.GetComponent <ResourceComponent>().LoadAsset(assetPathName, AssetCategory.FGUI); if (loadAsset.LoadAssetStatus == LoadAssetStatus.Failed) { Log.Info(loadAsset.ErrorMessage, LogCategory.Resource); return; } GameObject @object = UnityEngine.Object.Instantiate((GameObject)loadAsset.Target); @object.GetComponent <RectTransform>().sizeDelta = new Vector2(GRoot.inst.width, GRoot.inst.height); @object.GetComponent <RectTransform>().pivot = new Vector2(0, 1); @object.transform.localPosition = new Vector3(0, 0, 0); @object.transform.localScale = new Vector3(1, 1, 1); @object.transform.localEulerAngles = new Vector3(0, 0, 0); ReferenceCollector collector = @object.gameObject.GetComponent <ReferenceCollector>(); MediaPlayer = collector.Get <GameObject>("MediaPlayer").GetComponent <MediaPlayer>(); DisplayUGUI = collector.Get <GameObject>("DisplayUGUI").GetComponent <DisplayUGUI>(); MediaPlayer.m_AutoOpen = autoOpen; MediaPlayer.m_AutoStart = autoStart; MediaPlayer.m_Loop = loop; MediaPlayer.m_Volume = volume; MediaPlayer.Events.AddListener(OnMediaPlayerEvent); m_GGraph.SetNativeObject(new GoWrapper(@object)); if (ResourceComponent.This == null) { Log.Error("ResourceOnly is un exist"); } else { ResourceComponent.This.UnloadAsset(loadAsset.Target, AssetCategory.FGUI); } }