using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.UI; using System; public class PlayList : MonoBehaviour { public GameObject skipButton; public GameObject[] playListObjects1; public GameObject[] playListObjects; /// /// 等待时间 /// private float waitTime; /// /// 答案数据 /// [Header("答案数据")] public List saveData; public UpData upData; private void Awake() { DateTime now = DateTime.Now; DateTime startTime = new DateTime(2024, 1, 30); Debug.Log(startTime.Subtract(now).Days); } private void Start() { //StartPlayState2(); } /// /// 跳过 /// public void Skip() { waitTime = 0.5f; } /// /// 停止并退出当前课程 /// public void StopAll() { StopAllCoroutines(); for (int i = 0; i < playListObjects1.Length; i++) { playListObjects1[i].gameObject.SetActive(false); } for (int i = 0; i < playListObjects.Length; i++) { playListObjects[i].gameObject.SetActive(false); } gameObject.SetActive(false); } /// /// 播放课堂行为管理 /// public void StartPlayState1() { gameObject.SetActive(true); saveData = new List(); StartCoroutine(StartPlayState2Coroutine(playListObjects1, 1)); } /// /// 播放高级认知提问 /// public void StartPlayState2() { gameObject.SetActive(true); saveData = new List(); StartCoroutine(StartPlayState2Coroutine(playListObjects, 2)); } private IEnumerator StartPlayState2Coroutine(GameObject[] objects, int state) { for (int i = 0; i < objects.Length; i++) { yield return StartCoroutine(WaitTime(objects[i])); } upData.Init(saveData, state); Debug.Log("完成"); StopAll(); } private IEnumerator WaitTime(GameObject obj) { obj.SetActive(true); SelectPrefab selectPrefab = obj.GetComponent(); if (selectPrefab == null) { skipButton.SetActive(true); waitTime = obj.GetComponent().clip.length + 1; } else { skipButton.SetActive(false); waitTime = 9999999; selectPrefab.SelectPrefabCreateInit((QuestionData value) => { if (value.isUpData) { saveData.Add(value); } waitTime = 0; }); } while (waitTime > 0) { waitTime -= Time.deltaTime; yield return null; } obj.SetActive(false); } } /// /// 题目数据 /// [Serializable] public class QuestionData { /// /// 文本 /// public string text; /// /// 选择的题号 /// public string selectIndex; public bool isRight; /// /// 是否需要上传 /// public bool isUpData; }