天津23维预案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
2.9 KiB

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.IO;
using System;
using AX.MessageSystem;
public abstract class BaseSubItemManager : MonoBehaviour {
protected Text QuestionNameText;
[HideInInspector]
public Toggle QuestionToggle;
protected QuestionInfo question;
public QuestionInfo Question
{
set
{
question = value;
QuestionNameText.text = question.Name;
QuestionToggle.group = transform.parent.GetComponent<ToggleGroup>();
}
get
{
return question;
}
}
void Awake()
{
QuestionNameText = transform.Find("Name").GetComponent<Text>();
QuestionToggle = transform.Find("Toggle").GetComponent<Toggle>();
//transform.GetComponentInParent<ExamItemManager>();
ButtonInit();
MessageDispatcher.AddListener("ToggleFalse", ToggleFalse);
MessageDispatcher.AddListener("ToggleTrue", ToggleTrue);
}
private void ToggleTrue(IMessage message)
{
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>();
if (manager.Exam.ID == (long)message.Sender && question.ID == (long)message.Data)
{
QuestionToggle.isOn = true;
}
}
void OnDestroy()
{
MessageDispatcher.RemoveListener("ToggleFalse", ToggleFalse);
MessageDispatcher.RemoveListener("ToggleTrue", ToggleTrue);
}
private void ToggleFalse(IMessage message)
{
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>();
if (manager.Exam.ID == (long)message.Sender && question.ID == (long)message.Data)
{
QuestionToggle.isOn = true;
}
else
{
QuestionToggle.isOn = false;
}
}
public abstract void ButtonInit();
public void OnToggleChange()
{
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>();
if (GameObject.Find("Canvas").transform.Find("时间轴") && GameObject.Find("Canvas").transform.Find("时间轴").gameObject.activeInHierarchy
&& ExamInfoHelpClass.loadSceneMode== ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
manager.CurSelectedTrans.GetComponent<BaseSubItemManager>().QuestionToggle.isOn = true;
MessageDispatcher.SendMessage("Operatinghints", (object)"请先选择保存或者丢弃当前评分");
return;
}
if (QuestionToggle.isOn)
{
MessageDispatcher.SendMessage(manager.Exam.ID, "ToggleFalse", (object)question.ID);
//当前选中的项
Debug.Log(question.Name);
manager.Question = question;
manager.CurSelectedTrans = transform;
}
CheckIfHasAnswer();
}
public abstract void CheckIfHasAnswer();
}