166 lines
6.0 KiB
C#
166 lines
6.0 KiB
C#
using System;
|
|
using UnityEngine.UI;
|
|
using ZXKFramework;
|
|
namespace DongWuYiXue.QiGuanChaGuan
|
|
{
|
|
public class ImgSelectQuestionPanelTwo : UIBase
|
|
{
|
|
public override string GroupName => "ImgSelectQuestionPanelTwo";
|
|
public override string Name => "ImgSelectQuestionPanelTwo";
|
|
|
|
public Action nextAction;
|
|
public Action<bool> subAction;
|
|
ImgSelectManager[] imgSelectManagers;
|
|
Button nextBtn;
|
|
Button subBtn;
|
|
Button resetBtn;
|
|
int id;
|
|
string stepName;
|
|
|
|
Toggle maoZi;
|
|
Toggle kouZhao;
|
|
Toggle shouShuYi;
|
|
Toggle shouTao;
|
|
|
|
/// <summary>
|
|
/// 正确答案
|
|
/// </summary>
|
|
string rightAnswer;
|
|
public override void Init(IUIManager uictrl)
|
|
{
|
|
base.Init(uictrl);
|
|
imgSelectManagers = GetComponentsInChildren<ImgSelectManager>(true);
|
|
nextBtn = transform.FindFirst<Button>("Next");
|
|
nextBtn.onClick.AddListener(Next);
|
|
subBtn = transform.FindFirst<Button>("Submit");
|
|
subBtn.onClick.AddListener(Submit);
|
|
resetBtn = transform.FindFirst<Button>("Reset");
|
|
//resetBtn.onClick.AddListener(Reset);
|
|
|
|
maoZi = transform.FindFirst<Toggle>("1.一次性医用帽子");
|
|
kouZhao = transform.FindFirst<Toggle>("2.口罩");
|
|
shouShuYi = transform.FindFirst<Toggle>("3.手术衣");
|
|
shouTao = transform.FindFirst<Toggle>("4.手套");
|
|
maoZi.interactable = true;
|
|
kouZhao.interactable = true;
|
|
shouShuYi.interactable = true;
|
|
shouTao.interactable = true;
|
|
|
|
maoZi.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn)
|
|
{
|
|
rightAnswer += maoZi.transform.FindFirst<Text>("Txt").text;
|
|
maoZi.interactable = false;
|
|
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:Scrub_Cap").SetActive(true);
|
|
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:Short_blowback").SetActive(false);
|
|
}
|
|
});
|
|
|
|
kouZhao.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn)
|
|
{
|
|
rightAnswer += kouZhao.transform.FindFirst<Text>("Txt").text;
|
|
kouZhao.interactable = false;
|
|
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:FaceMask").SetActive(true);
|
|
}
|
|
});
|
|
|
|
shouShuYi.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn)
|
|
{
|
|
rightAnswer += shouShuYi.transform.FindFirst<Text>("Txt").text;
|
|
shouShuYi.interactable = false;
|
|
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:SM_shoushufu").SetActive(true);
|
|
}
|
|
});
|
|
|
|
shouTao.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn)
|
|
{
|
|
rightAnswer += shouTao.transform.FindFirst<Text>("Txt").text;
|
|
shouTao.interactable = false;
|
|
GameManager.Instance.transform.parent.FindFirst("Model").FindFirst("SM_nanyisheng:SM_shoutao").SetActive(true);
|
|
}
|
|
});
|
|
}
|
|
private void Submit()
|
|
{
|
|
Game.Instance.sound.StopBGM();
|
|
if (rightAnswer.Equals("一次性医用帽子口罩手术衣手套"))
|
|
{
|
|
subAction?.Invoke(true);
|
|
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
|
|
}
|
|
//if (imgSelectManagers[id].Check())
|
|
//{
|
|
// subAction?.Invoke(true);
|
|
// Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
|
|
//}
|
|
else
|
|
{
|
|
subAction?.Invoke(false);
|
|
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = false });
|
|
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
|
|
{
|
|
ChatUI.Instance.SendAI("用户位于:" + stepName + ",用户的作答为:" + rightAnswer + ",请对用户的作答进行解析,并介绍本步骤正确答案和意义,字数控制在100字以内。", null);
|
|
}
|
|
else
|
|
{
|
|
subAction?.Invoke(false);
|
|
}
|
|
}
|
|
subBtn.interactable = false;
|
|
resetBtn.interactable = false;
|
|
nextBtn.gameObject.SetActive(true);
|
|
}
|
|
private void Next()
|
|
{
|
|
ChatUI.Instance.CloseChatTxt();
|
|
SetActive(false);
|
|
subBtn.interactable = true;
|
|
//resetBtn.interactable = true;
|
|
nextAction?.Invoke();
|
|
}
|
|
private void Reset()
|
|
{
|
|
for (int i = 0; i < imgSelectManagers.Length; i++)
|
|
{
|
|
if (i == id)
|
|
{
|
|
imgSelectManagers[i].gameObject.SetActive(true);
|
|
imgSelectManagers[i].Init();
|
|
}
|
|
else
|
|
{
|
|
imgSelectManagers[i].gameObject.SetActive(false);
|
|
}
|
|
}
|
|
}
|
|
public void ShowImgQuestion(int id, string stepName)
|
|
{
|
|
SetActive(true);
|
|
nextBtn.gameObject.SetActive(false);
|
|
subBtn.interactable = true;
|
|
resetBtn.interactable = true;
|
|
this.id = id;
|
|
this.stepName = stepName;
|
|
for (int i = 0; i < imgSelectManagers.Length; i++)
|
|
{
|
|
if (i == id)
|
|
{
|
|
imgSelectManagers[i].gameObject.SetActive(true);
|
|
imgSelectManagers[i].Init();
|
|
}
|
|
else
|
|
{
|
|
imgSelectManagers[i].gameObject.SetActive(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|