Fix VideoPanel reference, automatically find Canvas/VideoPanel and add components if missing
This commit is contained in:
@@ -134,9 +134,22 @@ public class PingClickHandler : MonoBehaviour
|
|||||||
|
|
||||||
// 隐藏视频面板
|
// 隐藏视频面板
|
||||||
var videoController = FindObjectOfType<VideoController>(true);
|
var videoController = FindObjectOfType<VideoController>(true);
|
||||||
if (videoController != null)
|
if (videoController == null)
|
||||||
|
{
|
||||||
|
var allT = Resources.FindObjectsOfTypeAll<Transform>();
|
||||||
|
foreach (var t in allT)
|
||||||
|
{
|
||||||
|
if (t.name == "VideoPanel" && t.parent != null && t.parent.name == "Canvas")
|
||||||
|
{
|
||||||
|
t.gameObject.SetActive(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
videoController.StopVideo();
|
videoController.StopVideo();
|
||||||
|
videoController.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -151,11 +151,28 @@ public class ShoseClickHandler : MonoBehaviour
|
|||||||
|
|
||||||
// 显示 VideoPanel 并播放视频
|
// 显示 VideoPanel 并播放视频
|
||||||
var videoController = FindObjectOfType<VideoController>(true);
|
var videoController = FindObjectOfType<VideoController>(true);
|
||||||
|
if (videoController == null)
|
||||||
|
{
|
||||||
|
var allT = Resources.FindObjectsOfTypeAll<Transform>();
|
||||||
|
foreach (var t in allT)
|
||||||
|
{
|
||||||
|
if (t.name == "VideoPanel" && t.parent != null && t.parent.name == "Canvas")
|
||||||
|
{
|
||||||
|
videoController = t.gameObject.AddComponent<VideoController>();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (videoController != null)
|
if (videoController != null)
|
||||||
{
|
{
|
||||||
videoController.gameObject.SetActive(true);
|
videoController.gameObject.SetActive(true);
|
||||||
videoController.PlayVideo("tuoXieZi.mp4");
|
videoController.PlayVideo("tuoXieZi.mp4");
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogError("[ShoseClick] 未找到 VideoPanel,无法播放视频");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResetState()
|
public void ResetState()
|
||||||
@@ -178,6 +195,18 @@ public class ShoseClickHandler : MonoBehaviour
|
|||||||
videoController.StopVideo();
|
videoController.StopVideo();
|
||||||
videoController.gameObject.SetActive(false);
|
videoController.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var allT = Resources.FindObjectsOfTypeAll<Transform>();
|
||||||
|
foreach (var t in allT)
|
||||||
|
{
|
||||||
|
if (t.name == "VideoPanel" && t.parent != null && t.parent.name == "Canvas")
|
||||||
|
{
|
||||||
|
t.gameObject.SetActive(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var cam2 = GameObject.Find("camera2");
|
var cam2 = GameObject.Find("camera2");
|
||||||
var cam3 = GameObject.Find("camera3");
|
var cam3 = GameObject.Find("camera3");
|
||||||
|
|||||||
@@ -409,6 +409,17 @@ public class PageController : MonoBehaviour
|
|||||||
float waitTime = 1f; // 默认等1秒
|
float waitTime = 1f; // 默认等1秒
|
||||||
var am = FindObjectOfType<AudioManager>();
|
var am = FindObjectOfType<AudioManager>();
|
||||||
|
|
||||||
|
// --- 新增:强制隐藏视频面板 ---
|
||||||
|
var allT = Resources.FindObjectsOfTypeAll<Transform>();
|
||||||
|
foreach (var t in allT)
|
||||||
|
{
|
||||||
|
if (t.name == "VideoPanel" && t.parent != null && t.parent.name == "Canvas")
|
||||||
|
{
|
||||||
|
t.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ------------------------------
|
||||||
|
|
||||||
// 实验刚开始,立刻激活鞋子,不等语音播完
|
// 实验刚开始,立刻激活鞋子,不等语音播完
|
||||||
var shose = GameObject.Find("Shose");
|
var shose = GameObject.Find("Shose");
|
||||||
if (shose == null)
|
if (shose == null)
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ public class VideoController : MonoBehaviour
|
|||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
if (_rawImage == null) _rawImage = GetComponent<RawImage>();
|
if (_rawImage == null) _rawImage = GetComponent<RawImage>();
|
||||||
|
if (_rawImage == null) _rawImage = gameObject.AddComponent<RawImage>();
|
||||||
|
|
||||||
if (_videoPlayer == null) _videoPlayer = GetComponentInChildren<VideoPlayer>();
|
if (_videoPlayer == null) _videoPlayer = GetComponentInChildren<VideoPlayer>();
|
||||||
|
if (_videoPlayer == null) _videoPlayer = gameObject.AddComponent<VideoPlayer>();
|
||||||
|
|
||||||
if (_videoPlayer != null)
|
if (_videoPlayer != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user