using UnityEngine; using UnityEngine.UI; using UnityEngine.Video; using UnityEngine.SceneManagement; using System.Collections; using System.Net.Sockets; public class ClientWorkMessageHandleSceneController : MonoBehaviour { public static ClientWorkMessageHandleSceneController Instance; public static int messageResultCount = 0; public static string messageResult = ""; public static string messageResultText = ""; [Header("影片播放")] public VideoPlayer videoPlayer; public RawImage videoDisplay; public static void cleanData() { messageResult = ""; messageResultText = ""; } private void Awake() { Instance = this; } void Start() { SetupVideoPlayer(); // 開始播放影片 if (videoPlayer != null) { videoPlayer.Play(); Debug.Log("開始播放影片"); } } void SetupVideoPlayer() { if (videoPlayer != null) { // 設置影片結束事件 videoPlayer.loopPointReached += OnVideoFinished; // 設置影片顯示 if (videoDisplay != null) { videoPlayer.targetTexture = null; videoPlayer.renderMode = VideoRenderMode.RenderTexture; RenderTexture rt = new RenderTexture(1920, 1080, 24); videoPlayer.targetTexture = rt; videoPlayer.isLooping = true; videoDisplay.texture = rt; } } } void OnVideoFinished(VideoPlayer vp) { //Debug.Log("影片播放完成,準備跳轉到 ClientWorkScene"); //StartCoroutine(LoadNextScene()); } public void onReceiveResult(string result, string resultText) { //messageResultCount++; messageResult = result; messageResultText = resultText; videoPlayer.Stop(); StartCoroutine(LoadNextScene()); } public IEnumerator LoadNextScene() { yield return new WaitForSeconds(0f); switch (messageResult) { case "yes": SceneManager.LoadScene("ClientWorkMessageResultYesScene"); break; case "no": SceneManager.LoadScene("ClientWorkMessageResultNoScene"); break; default: SceneManager.LoadScene("ClientWorkMessageResultNotSureScene"); break; } } }