天津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.
 
 
 
 
 
 

891 lines
38 KiB

using UnityEngine;
using System.Collections.Generic;
using System;
using System.Xml.Serialization;
using AX.TrackRecord;
using System.Collections;
using AX.MessageSystem;
using UnityEngine.UI;
using System.IO;
using Video;
public class TheBackView : MonoBehaviour
{
/**
* 记录回放按钮
*/
public static TheBackView instance;
GameObject CameraGame;
public Text NumSpeed;
public Image StopImage;//时间轴中停止按钮
public float Sprielength;
public GameObject TheGame;
public GameObject TheFather;
public Slider slider;
bool kongzhi = true;
public bool BckViewControl = true;
TimeSpan TheDeltaTime;
float X;
EventRecordItem_two eventItem_I_D;
float datetime = 0;
float TheSumTime;
public InputField ChangeIntro;//添加标签回放显示的输入框
private GameObject DeletBtn;//改变内容后保存的按钮
[HideInInspector]
public GameObject ShowText;//回放标签弹框
private GameObject NowTagGame;//回放对应的标签
[HideInInspector]
public GameObject TheBoFang;//播放的图片
[HideInInspector]
public GameObject TheZanTing;//暂停的图片
private GameObject SaveBtn;
[HideInInspector]
public GameObject EndBtn;
private Text TheShowText;
public delegate void SpeedChangeHandler(SpeedChangeEventArgs e);
public event SpeedChangeHandler SpeedChangeEvent;
private bool TriggerSpeedChangeEventFlag = true;
public const int OverSpeed = 100;
private Toggle TheHideName;// 隐藏名称
public bool TheControl = true;
bool IsMakingScore_PlayOver = false;
bool lock_ = false;
bool Back = false;
bool Lock = false;
float TheGameTime;
public GameObject VidoSHOW;
public GameObject PictSHOW;
void Awake()
{
if (instance == null)
{
instance = this;
}
GameFind();
slider.value = 0;
CameraGame = GameObject.Find("Main Camera").gameObject;
ChangeIntro.onValueChanged.AddListener(delegate { ValueChangeCheck(); });
//添加事件,回放完毕后关闭时间轴
EndBtn = this.gameObject.transform.Find("End").gameObject;
this.gameObject.SetActive(false);
TheShowText = this.gameObject.transform.Find("隐藏名称/Background/Text").GetComponent<Text>();
TheHideName = this.gameObject.transform.Find("隐藏名称").GetComponent<Toggle>();
TheHideName.onValueChanged.AddListener(TheHideNameWay);
}
void Start()
{
LoadManager.Instance.PlayBackOverEvent += PlayBackOverFunc;
MessageDispatcher.AddListener("ProcessSkipEvent", ProcessSkipEvent);
}
void OnDestroy()
{
MessageDispatcher.RemoveListener("ProcessSkipEvent", ProcessSkipEvent);
}
void FixedUpdate()
{
if (BckViewControl) //暂停的控制
{
if (kongzhi)
{
datetime += Time.deltaTime * LoadManager.Instance.LoadSpeed/**/;
slider.value = datetime / TheSumTime;
}
}
}
private void ProcessSkipEvent(IMessage msg)
{
//var time = (SkipEventAttri)msg.Data;
//datetime = time.to + DictProcessHelpClass.threshold;
//slider.value = datetime / TheSumTime;
}
public void ValueChangeCheck()//显示保存按钮
{
}
public void ChongZhi()//重置显示标签内弄事件
{
}
public void SaveChange()//保存修改
{
}
public void CheckAnswer()
{
this.gameObject.SetActive(true);
}
public void DeletTagBtn()//删除标签按钮
{
ShowText.transform.Find("Delect").gameObject.SetActive(true);
}
public Transform FahterTag;
public void DeletTagSure()//确定删除
{
EventRecordItem_two eventI_id = NowTagGame.GetComponent<GetTheJieDian>().EventItem;
LoadManager.Instance.record_Load.EventList.Remove(eventI_id);
var key = DictProcessHelpClass.GetKeyFromTimer(eventI_id.timer);
var eventListDic_keyList = LoadManager.Instance.eventListDic[key];
eventListDic_keyList.Remove(eventI_id);
LoadManager.Instance.isChanged = true;
ShowText.transform.Find("Delect").gameObject.SetActive(false);
ShowText.SetActive(false);
TheControl = true;
LoadManager.Instance.IsPause = false;
BckViewControl = true;
TheBoFang.SetActive(true);
TheZanTing.SetActive(false);
foreach (Transform child in TheFather.transform)//标签物体上没有Image组件,为什么要获取它?
{
child.Find("TimeItem").GetComponent<Image>().raycastTarget = true;
}
Destroy(NowTagGame);
}
public void DeletTagClose()//取消删除
{
ShowText.transform.Find("Delect").gameObject.SetActive(false);
}
private void PlayBackOverFunc(object sender, EventArgs e)
{
if (!((PlayBackEventArgs)e).IsMakeScore)//不是打分模式下,回放完毕直接关闭时间轴等
{
gameObject.SetActive(false);
if (GameObject.Find("AddTag"))
GameObject.Find("AddTag").SetActive(false);
EndView = false;
}
else//打分模式下,不能关闭时间轴等,而是重置状态,等待再次播放
{
CheckCount();
ControlBtn();
IsMakingScore_PlayOver = true;
EndView = false;
}
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING)
{
GameObject.Find("Canvas").transform.Find("StorageWin").gameObject.SetActive(false);
GameObject.Find("Canvas").transform.Find("BagWin").gameObject.SetActive(false);
}
MessageDispatcher.SendMessage("CLOSE", (object)"杂物清理界面", "CUBE");
MessageDispatcher.SendMessage("CLOSE", (object)"InsiderWind", "CUBE");
MessageDispatcher.SendMessage("CLOSE", (object)"PoChaiUI", "CUBE");
GameObject.Find("Canvas").transform.Find("NodeMessage").gameObject.SetActive(false);
MessageDispatcher.SendMessage("ControlLeftEvent", (object)"");
LoadManager.Instance.isChanged = false;
CheckAutoBrowsing(null,0f,true);
ExeSpeedChangeEvent(1);
}
/// <summary>
/// 检测是否为自动播放
/// </summary>
public void CheckAutoBrowsing(GameObject obj,float time,bool next)
{
if (AutoBrowsing.instance.Flag)
{
AutoBrowsing.instance.GetMessage(obj, time, next);
}
}
public void ControlBtn() //暂停按钮
{
if (TheControl)
{
TheControl = false;
LoadManager.Instance.IsPause = true;
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
BckViewControl = false;
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
ExeSpeedChangeEvent(0);
Time.timeScale = 1;
}
else
{
TheControl = true;
LoadManager.Instance.IsPause = false;
LoadManager.Instance.RecordBtn = true;
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
SaveBtn.SetActive(false);
ShowText.gameObject.SetActive(false);
BckViewControl = true;
TheBoFang.SetActive(true);
TheZanTing.SetActive(false);
GameObject.Find("Canvas").transform.Find("AddTag").GetComponent<Button>().enabled = true;
ShowText.transform.Find("Delect").gameObject.SetActive(false);
GameObject.Find("Canvas").transform.Find("考试记录展示评判").gameObject.SetActive(false);
//打分模式下播放到头,点击开始按钮时多处理一步
if (IsMakingScore_PlayOver)
{
IsMakingScore_PlayOver = false;
MessageDispatcher.SendMessage("CloseToolbar", (object)this.name);
MessageDispatcher.SendMessage("ResettingButton", (object)this.name);
MessageDispatcher.SendMessage("RESET_OILTANKDISASTER_ATRRI", (object)"All");//重置罐体属性
//TrackRecordHelpClass.LoadObjSetToOriginalTrans(LoadManager.Instance.record_Load);
LoadManager.Instance.LoadObjSetToOriginalTrans(LoadManager.Instance.record_Load);
}
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore || ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckAnswer)
{
EndBtn.SetActive(true);
}
ExeSpeedChangeEvent(LoadManager.Instance.LoadSpeed);
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore && LoadManager.Instance.IsPlayBacking && AddRecordTag.Instance.TheScorePlane.activeInHierarchy)
{
AddRecordTag.Instance.TheScorePlane.SetActive(false);
AddRecordTag.Instance.DiaoYong();
}
Time.timeScale = 1;
AutoBrowsing.instance.Game = null;
}
}
public void BoFang()
{
GameFind();
TheControl = true;
LoadManager.Instance.IsPause = false;
LoadManager.Instance.RecordBtn = true;
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
if (GameObject.Find("Canvas").transform.Find("AddTag").gameObject.activeInHierarchy)
{
AddRecordTag.Instance.ThisButton.enabled = true;
}
ShowText.gameObject.SetActive(false);
SaveBtn.SetActive(false);
BckViewControl = true;
TheBoFang.SetActive(true);
TheZanTing.SetActive(false);
ShowText.transform.Find("Delect").gameObject.SetActive(false);
AutoBrowsing.instance.Game = null;
}
public void GameFind()
{
ShowText = GameObject.Find("Canvas").transform.Find("ShowText").gameObject;
SaveBtn = ShowText.transform.Find("SaveBtn").gameObject;
DeletBtn = ShowText.transform.Find("MaskSet/ShanChuBtn").gameObject;
TheBoFang = this.gameObject.transform.Find("Control").Find("BoFang").gameObject;
TheZanTing = this.gameObject.transform.Find("Control").Find("ZanTing").gameObject;
}
public void ZanTing()
{
TheControl = false;
LoadManager.Instance.IsPause = true;
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
BckViewControl = false;
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
}
public void TheHideNameWay(bool check)// 隐藏名称
{
if (TheShowText.text == "隐藏名称")
{
TheShowText.text = "显示名称";
UIController.instance.NameControl = false;
MessageDispatcher.SendMessage("NameControl", (object)false);
}
else
{
TheShowText.text = "隐藏名称";
UIController.instance.NameControl = true;
MessageDispatcher.SendMessage("NameControl", (object)true);
}
}
public void LookGo(float time )//查看任务改变
{
Back = true;
TheGameTime = time;
MessageDispatcher.SendMessage("ProcessSkipEvent", new SkipEventAttri { from = datetime, to = TheGameTime });
}
public void CheckCount() //查看点数
{
NumSpeed.text = "1";//默认为1
LoadManager.Instance.LoadSpeed = 1; //默认为1
slider.value = 0;
datetime = 0;
TheSumTime = LoadManager.Instance.record_Load.SumTime;//yhd
kongzhi = true;
foreach (Transform child in TheFather.transform) //首先删除所有标签
{
Destroy(child.gameObject);
}
var EventList = LoadManager.Instance.record_Load.EventList;
float TheDeltaTime = TheSumTime;
Sprielength = slider.gameObject.transform.GetComponent<RectTransform>().rect.width;//时间轴长度
foreach (var key in LoadManager.Instance.eventListDic.Keys)
{
if (LoadManager.Instance.eventListDic[key].Count > 0)
{
var EvenList = DictProcessHelpClass.GetUniqList(LoadManager.Instance.eventListDic[key]);
for (int x = 0; x < EvenList.Count; x++)
{
EventRecordItem_two Event = EvenList[x] as EventRecordItem_two;
if (Event.eventType == eventTypeRecord.AddRecordTag ||
(Event.eventType == eventTypeRecord.AddLoadTag && (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.PrepareModeLook ||
ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.EditCourceware))
)
{
GameObject Game = Instantiate(TheGame) as GameObject;
Game.transform.SetParent(TheFather.transform);
Game.transform.localScale = new Vector3(1, 1, 1);
float GameTime = Event.timer;
Game.GetComponent<RectTransform>().anchoredPosition = new Vector2((GameTime / TheDeltaTime) * Sprielength, 0);
Game.GetComponent<GetTheJieDian>().EventItem = Event;
Game.transform.Find("Text").GetComponent<Text>().text = Event.objAttriList[0].ObjName.ToString();
if (Event.eventType == eventTypeRecord.AddGpcAUTOTag)
{
Game.name = "zidong";
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckScore)
{
var List = LoadManager.Instance.eventListDic.GetEventListFromDict(GameTime, Event.eventType);
int num = 0;
for (int i = 0; i < List.Count; i++)
{
if (List[i].objAttriList[0].ObjName != "")
{
num += int.Parse(List[i].objAttriList[0].ObjName);
}
}
Game.transform.Find("Text").GetComponent<Text>().text = num.ToString();
}
}
if (Event.eventType == eventTypeRecord.AddRecordTag)
{
Game.transform.Find("TimeItem").GetComponent<Image>().color = Color.green;
if (Event.objAttriList[0].modeadd == ModelADD.Video)
{
Game.transform.Find("Show").Find("Video").gameObject.SetActive(true);
}
else if (Event.objAttriList[0].modeadd == ModelADD.Pict)
{
Game.transform.Find("Show").Find("Picture").gameObject.SetActive(true);
Texture2D texture =CreatTexture(ExamInfoHelpClass.PictureFilePath+Event.objAttriList[0].PictureFile);//fileName1
Sprite sprite_ = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Game.transform.Find("Show").Find("Picture").GetComponent<Image>().sprite = sprite_;
}
else if (Event.objAttriList[0].modeadd == ModelADD.All)
{
Game.transform.Find("Show").Find("Picture").gameObject.SetActive(true);
Game.transform.Find("Show").Find("Video").gameObject.SetActive(true);
Texture2D texture = CreatTexture(ExamInfoHelpClass.PictureFilePath + Event.objAttriList[0].PictureFile);//fileName1
Sprite sprite_ = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Game.transform.Find("Show").Find("Picture").GetComponent<Image>().sprite = sprite_;
}
}
if (Event.eventType == eventTypeRecord.AddLoadTag)
{
Game.transform.Find("TimeItem").GetComponent<Image>().color = Color.green;
if (Event.objAttriList[0].modeadd == ModelADD.Video)
{
Game.transform.Find("Show").Find("Video").gameObject.SetActive(true);
}
else if (Event.objAttriList[0].modeadd == ModelADD.Pict)
{
Game.transform.Find("Show").Find("Picture").gameObject.SetActive(true);
Texture2D texture = CreatTexture(ExamInfoHelpClass.PictureFilePath + Event.objAttriList[0].PictureFile);//fileName1
Sprite sprite_ = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Game.transform.Find("Show").Find("Picture").GetComponent<Image>().sprite = sprite_;
}
else if (Event.objAttriList[0].modeadd == ModelADD.All)
{
Game.transform.Find("Show").Find("Picture").gameObject.SetActive(true);
Game.transform.Find("Show").Find("Video").gameObject.SetActive(true);
Texture2D texture = CreatTexture(ExamInfoHelpClass.PictureFilePath + Event.objAttriList[0].PictureFile);//fileName1
Sprite sprite_ = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
Game.transform.Find("Show").Find("Picture").GetComponent<Image>().sprite = sprite_;
}
}
if (Event.eventType == eventTypeRecord.ZongJiePingPanTag)
{
Game.name = "zidong_ZJ";
if (Event.ScoreAttri.Count > 0)
{
Game.transform.Find("Text").GetComponent<Text>().text = Event.ScoreAttri[0].AllScore.ToString();
}
else
{
Game.transform.Find("Text").GetComponent<Text>().text = "";
}
Game.GetComponent<Image>().color = Color.white;
ZiDongPingPan.Instance.GetMessage(Game);
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckScore)
{
var List = LoadManager.Instance.eventListDic.GetEventListFromDict(GameTime, Event.eventType);
int num = 0;
for (int i = 0; i < List.Count; i++)
{
if (List[i].ScoreAttri.Count != 0)
{
num += List[i].ScoreAttri[0].AllScore;
}
}
Game.transform.Find("Text").GetComponent<Text>().text = num.ToString();
}
}
if (Game.transform.Find("Text").GetComponent<Text>().text.Equals("0"))
{
Game.transform.Find("Text").GetComponent<Text>().text = "";
}
}
}
}
}
}
public static Texture2D CreatTexture(string filename)
{
//创建文件读取流
FileStream fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
fileStream.Seek(0, SeekOrigin.Begin);
//创建文件缓冲区
byte[] bytes = new byte[fileStream.Length];
Debug.Log(bytes.Length);
//读取文件
fileStream.Read(bytes, 0, (int)fileStream.Length);
//释放文件读取流
fileStream.Close();
fileStream.Dispose();
fileStream = null;
int width = 1024;//1024
int height = 1024;//1024
Texture2D texture = new Texture2D(width, height);
//Texture2D texture = new Texture2D(width, height, TextureFormat.ETC_RGB4, false);
texture.LoadImage(bytes);
//texture.Compress(false);
//texture = TextureScale.Bilinear(texture, width, height, false, false);
return texture;
}
bool TagFlag = false;
public void ClickJieDianApect(EventRecordItem_two eventI)
{
eventItem_I_D = eventI;
BckViewControl = false;
TagFlag = true;
BackApect(eventI);
}
public bool checkItme = false;
public void BackApect(EventRecordItem_two eventItem) //生成事件的回调(recordManager)对应Silder的变化
{
if (!EndView)
{
eventItem_I_D = eventItem;
MessageDispatcher.SendMessage("CLOSE", (object)"杂物清理界面", "CUBE");
MessageDispatcher.SendMessage("CLOSE", (object)"InsiderWind", "CUBE");
MessageDispatcher.SendMessage("CLOSE", (object)"PoChaiUI", "CUBE");
if (ExamInfoHelpClass.applicationMode == ExamInfoHelpClass.ApplicationMode.PATHFINDING)
{
GameObject.Find("Canvas").transform.Find("StorageWin").gameObject.SetActive(false);
GameObject.Find("Canvas").transform.Find("BagWin").gameObject.SetActive(false);
}
//标签
ArrayList list_ = new ArrayList();
if (eventItem.eventType != eventTypeRecord.AddRecordTag)
{
ShowText.SetActive(false);
}
foreach (Transform child in TheFather.transform) //遍历所以节点
{
list_.Add(child.gameObject);
}
for (int i = 0; i < list_.Count; i++)
{
GameObject ob = list_[i] as GameObject;
var item = ob.GetComponent<GetTheJieDian>().EventItem;
if (item == eventItem)
{
NowTagGame = ob;
//MouseFollowRotation.Instance.CameraAttri = eventItem.camAttributeList[0];
if (eventItem.orthographic)
{
MouseFollowRotation.Instance.CameraAttri = eventItem.camAttributeList[0];
MouseFollowRotation.Instance.Index = 1;
MessageDispatcher.SendMessage("TabChangeView");
Camera.main.orthographicSize = eventItem.size;
}
else
{
MouseFollowRotation.Instance.Index = 0;
MessageDispatcher.SendMessage("TabChangeView");
MouseFollowRotation.Instance.CameraAttri = eventItem.camAttributeList[0];
}
}
}
if (NowTagGame !=null && !NowTagGame.GetComponent<GetTheJieDian>().canExeFlag)
return;
if (eventItem.eventType == eventTypeRecord.AddFilterTag)
{
StartCoroutine(LoadObjSetToOriginalTransTag(eventItem));
}
if (eventItem.eventType == eventTypeRecord.AddLoadTag || eventItem.eventType == eventTypeRecord.AddRecordTag)
{
TreeShowNode.Instance.gameObject.transform.parent.gameObject.SetActive(false);
if (eventItem.eventType == eventTypeRecord.AddLoadTag)
{
if (TagFlag)
{
StartCoroutine(LoadObjSetToOriginalTransTag(eventItem));
TagFlag = false;
}
ShowText.SetActive(true);
AddRecordTag.Instance.TheScorePlane.SetActive(false);
EditNodePlane.instance.GetBaoQian(eventItem_I_D,NowTagGame);
ShowText.transform.Find("Scroll View/Viewport/InputField").GetComponent<InputField>().text =
eventItem.objAttriList[0].TaskName.ToString();
ShowText.transform.Find("Scroll View").gameObject.SetActive(true);
if (ShowText.transform.Find("Scroll View/Viewport/InputField").GetComponent<InputField>().text.Equals(""))
{
ShowText.transform.Find("Scroll View").gameObject.SetActive(false);
}
ShowText.GetComponent<TagShowUIWithMode>().CheckMode(true);
AddRecordTag.Instance.OBJ = null;
MessageDispatcher.SendMessage("LeftShowEvent", eventItem.objAttriList[0]);
}
if (eventItem.eventType == eventTypeRecord.AddRecordTag)
{
if (TagFlag)
{
StartCoroutine(LoadObjSetToOriginalTransTag(eventItem));
TagFlag = false;
}
ShowText.SetActive(true);
EditNodePlane.instance.GetBaoQian(eventItem_I_D, NowTagGame);
AddRecordTag.Instance.TheScorePlane.SetActive(false);
ShowText.transform.Find("Scroll View/Viewport/InputField").GetComponent<InputField>().text =
eventItem.objAttriList[0].TaskName.ToString();
ShowText.transform.Find("Scroll View").gameObject.SetActive(true);
if (ShowText.transform.Find("Scroll View/Viewport/InputField").GetComponent<InputField>().text.Equals(""))
{
ShowText.transform.Find("Scroll View").gameObject.SetActive(false);
}
ShowText.GetComponent<TagShowUIWithMode>().CheckMode(true);
AddRecordTag.Instance.OBJ = null;
MessageDispatcher.SendMessage("LeftShowEvent", eventItem.objAttriList[0]);
//if (eventItem.objAttriList[0].modeadd == ModelADD.Video)
//{
// VCR._videoFiles = eventItem.objAttriList[0].VideoFile;
// VCR.Instance().StartPlayer();
//}
ShowText.SetActive(true);
}
if (ExamInfoHelpClass.loadSceneMode != ExamInfoHelpClass.LoadSceneMode.CheckScore)
{
AddRecordTag.Instance.gameObject.GetComponent<Button>().enabled = false;
}
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
TheControl = false;
LoadManager.Instance.IsPause = true;
BckViewControl = false;
datetime = eventItem.timer;
slider.value = (datetime) / TheSumTime;
CheckAutoBrowsing(NowTagGame, 5f, false);
}
if (eventItem.eventType == eventTypeRecord.AddGpcAUTOTag)
{
if (TagFlag)
{
StartCoroutine(LoadObjSetToOriginalTransTag(eventItem));
TagFlag = false;
}
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
AddRecordTag.Instance.TheScorePlane.SetActive(true);
AddRecordTag.Instance.TheScorePlane.transform.Find("Delete").gameObject.SetActive(false);
AddRecordTag.Instance.TheScorePlane.transform.Find("InputIntro").GetComponent<InputField>().text =
eventItem.objAttriList[0].TaskName.ToString();
AddRecordTag.Instance.TheScorePlane.transform.Find("InputName").GetComponent<InputField>().text =
eventItem.objAttriList[0].ObjName.ToString();
AddRecordTag.Instance.OBJ = NowTagGame;
AddRecordTag.Instance.gameObject.GetComponent<Button>().enabled = false;
}
else if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckScore)
{
var List = LoadManager.Instance.eventListDic.GetEventListFromDict(eventItem.timer, eventItem.eventType);
if (List.Count== 1)
{
ShowText.SetActive(true);
ShowText.transform.Find("Scroll View/Viewport/InputField").GetComponent<InputField>().text =
eventItem.objAttriList[0].TaskName.ToString();
ShowText.GetComponent<TagShowUIWithMode>().CheckMode(true);
}
else if (List.Count > 1)
{
TreeShowNode.Instance.gameObject.transform.parent.gameObject.SetActive(true);
TreeShowNode.Instance.AddNodes(List);
}
}
foreach (Transform child in TheFather.transform)
{
child.gameObject.GetComponent<Image>().raycastTarget = false;
}
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
TheControl = false;
LoadManager.Instance.IsPause = true;
BckViewControl = false;
datetime = eventItem.timer;
slider.value = (datetime) / TheSumTime;
}
//评分查看任务变化
if (eventItem.eventType == eventTypeRecord.TaskChange && ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
if (checkItme && eventItem_I_D == eventItem)
{
foreach (Transform child in TheFather.transform)
{
child.gameObject.GetComponent<Image>().raycastTarget = false;
}
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
TheControl = false;
LoadManager.Instance.IsPause = true;
BckViewControl = false;
checkItme = false;
datetime = eventItem.timer;
slider.value = (datetime) / TheSumTime;
}
}
ZongJieTag(eventItem);
}
}
private IEnumerator LoadObjSetToOriginalTransTag(EventRecordItem_two eventAttri)
{
MessageDispatcher.SendMessage("DestroyObj", (object)"All");
InputManager.Instance_.characters.Clear();
MessageDispatcher.SendMessage("RESET_OILTANKDISASTER_ATRRI", (object)"All");//重置所有罐体
yield return null;
TrackRecordHelpClass.LoadObjSetToOriginalTransTag(eventAttri);
}
public void ZongJieTag(EventRecordItem_two eventItem)//处理总结标签 待-----
{
if (eventItem.eventType == eventTypeRecord.ZongJiePingPanTag)
{
if (TagFlag)
{
StartCoroutine(LoadObjSetToOriginalTransTag(eventItem));
TagFlag = false;
}
foreach (Transform child in TheFather.transform)
{
child.gameObject.GetComponent<Image>().raycastTarget = false;
}
MessageDispatcher.SendMessage("CLOSE", (object)"AddScoreTag", "CUBE");
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
MessageDispatcher.SendMessage("OPEN", (object)"自动评判", "CUBE");
}
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.CheckScore)
{
var List = LoadManager.Instance.eventListDic.GetEventListFromDict(eventItem.timer, eventItem.eventType);
if (List.Count == 1)
{
MessageDispatcher.SendMessage("OPEN", (object)"自动评判", "CUBE");
ZiDongPingPan.Instance.Surebtn.gameObject.SetActive(false);
ZiDongPingPan.Instance.PingBi.SetActive(true);
}
else if (List.Count>0)
{
TreeShowNode.Instance.gameObject.transform.parent.gameObject.SetActive(true);
TreeShowNode.Instance.AddNodes(List);
}
}
TheBoFang.SetActive(false);
TheZanTing.SetActive(true);
TheControl = false;
LoadManager.Instance.IsPause = true;
BckViewControl = false;
datetime = eventItem.timer;
slider.value = (datetime) / TheSumTime;
}
}
public void AddSpeed()//加速
{
if (LoadManager.Instance.IsPause)
{
MessageDispatcher.SendMessage("Operatinghints", (object)"播放可以调整速度");
return;
}
int Num = int.Parse(NumSpeed.text);
if (Num == 1)
{
NumSpeed.text = "2";
LoadManager.Instance.LoadSpeed = 2;
}
else if (Num == 2)
{
NumSpeed.text = "4";
LoadManager.Instance.LoadSpeed = 4;
}
else if (Num == 4)
{
NumSpeed.text = "8";
LoadManager.Instance.LoadSpeed = 8;
}
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
int num = int.Parse(NumSpeed.text);
MakeSorceSet.instance.Speed = num;
}
ExeSpeedChangeEvent(LoadManager.Instance.LoadSpeed);
}
public void ExeSpeedChangeEvent(int speed)
{
LoadManager.Instance.speedFactor = speed;
AgentRecord.speedFactor = speed;
VCR._mediaPlayer.Control.SetPlaybackRate(speed);
if (SpeedChangeEvent != null)
{
SpeedChangeEvent(new SpeedChangeEventArgs(speed));
}
}
public void LessonSpeed()//减速
{
if (LoadManager.Instance.IsPause)
{
MessageDispatcher.SendMessage("Operatinghints", (object)"播放可以调整速度");
return;
}
int Num = int.Parse(NumSpeed.text);
if (Num == 8)
{
NumSpeed.text = "4";
LoadManager.Instance.LoadSpeed =4;
}
else if (Num == 4)
{
NumSpeed.text = "2";
LoadManager.Instance.LoadSpeed = 2;
}
else if (Num == 2)
{
NumSpeed.text = "1";
LoadManager.Instance.LoadSpeed = 1;
}
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
int num = int.Parse(NumSpeed.text);
MakeSorceSet.instance.Speed = num;
}
ExeSpeedChangeEvent(LoadManager.Instance.LoadSpeed);
}
[HideInInspector]
public bool EndView = false;
int Index;
public void EndBackView()//结束播放
{
if (GameObject.Find("Canvas").transform.Find("AddTag").Find("AddScoreTag").gameObject.activeInHierarchy)
{
MessageDispatcher.SendMessage("Operatinghints", (object)"打分中无法结束");
return;
}
TriggerSpeedChangeEventFlag = false;
TheControl = true;
LoadManager.Instance.IsPause = false;
foreach (Transform child in TheFather.transform)
{
child.transform.Find("TimeItem").gameObject.GetComponent<Image>().raycastTarget = true;
}
ShowText.gameObject.SetActive(false);
ShowText.transform.Find("Delect").gameObject.SetActive(false);
SaveBtn.SetActive(false);
BckViewControl = true;
TheBoFang.SetActive(true);
TheZanTing.SetActive(false);
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
EndBtn.SetActive(false);
GameObject.Find("Canvas").transform.Find("AddTag").Find("AddScoreTag").gameObject.SetActive(false);
}
EndView = true;
MessageDispatcher.SendMessage("ProcessSkipEvent", new SkipEventAttri { from = datetime, to = TheSumTime });
LoadManager.Instance.LoadObjSetToOriginalTransTag();
LoadManager.Instance.RecordBtn = true;
LoadManager.Instance.IsPause = false;
}
public void MakeSoreEnd()
{
TheControl = true;
LoadManager.Instance.IsPause = false;
ShowText.gameObject.SetActive(false);
ShowText.transform.Find("Delect").gameObject.SetActive(false);
SaveBtn.SetActive(false);
TheBoFang.SetActive(true);
TheZanTing.SetActive(false);
if (ExamInfoHelpClass.loadSceneMode == ExamInfoHelpClass.LoadSceneMode.MakeScore)
{
EndBtn.SetActive(false);
//TheControl = false;
}
LoadManager.Instance.ExePlayBackOverEvent(LoadManager.Instance.IsMakeScore);
ExeSpeedChangeEvent(1);
}
}
/// <summary>
/// 自定义速度改变事件参数类,以后想要添加参数方便
/// </summary>
public class SpeedChangeEventArgs : EventArgs
{
public int speed;
public SpeedChangeEventArgs(int speed)
{
this.speed = speed;
}
}