using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; using System; public class VideoManager : MonoBehaviour { private VideoPlayer videoPlayer; private int id; public float speed {get; set; } public bool setUp = false; public bool finish = false; private Tachometer taco; private int skinID; public void SetSkin(int playerID) { videoPlayer = gameObject.AddComponent(); id = playerID + 1; var gm = GameManager.Instance; taco = gameObject.AddComponent(); taco.SetPlayer (playerID); skinID = gm.GetSkins(playerID); videoPlayer.url = Application.streamingAssetsPath + "/" + skinID + ".webm"; Debug.Log("Video Stats:" + " canSetTime: " + videoPlayer.canSetTime + " canSetSkipOnDrop: " + videoPlayer.canSetSkipOnDrop); videoPlayer.skipOnDrop = true; videoPlayer.isLooping = false; videoPlayer.playOnAwake = false; videoPlayer.renderMode = VideoRenderMode.MaterialOverride; videoPlayer.prepareCompleted += VideoReady; videoPlayer.Prepare(); } void VideoReady(VideoPlayer source) { Debug.Log("Ok ima set"); videoPlayer.prepareCompleted -= VideoReady; var gm = GameManager.Instance; float startTime = gm.GetVideoEnd(skinID) - gm.GetRaceNormalTime(); videoPlayer.seekCompleted += VideoSetup; videoPlayer.time = startTime; } void VideoSetup(VideoPlayer source) { videoPlayer.seekCompleted -= VideoSetup; videoPlayer.Play(); setUp = true; } void Update () { if (!finish ) { videoPlayer.playbackSpeed = taco.GetPlayerSpeed (); Debug.Log ("Player" + id + " : " + videoPlayer.playbackSpeed); } else { videoPlayer.playbackSpeed = 1f; } } }