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;
}