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