using UnityEngine; using System.Collections; using UnityEngine.UI; using AX.MessageSystem; public class NodeRecordController : MonoBehaviour { public static NodeRecordController Instance; public Text ButtonName; bool IsRecord = false; bool IsLoad = false; string NodeName = "", NodeIntro = ""; public InputField NodeNameInput; public InputField NodeIntroInput; public GameObject EditWin; public Transform camera_; string cjid = "1"; int zqid = 1; int jdid = 0; int count = 0; [HideInInspector] public int selected_jdid = 0, last_id = 0; [HideInInspector] public string filename = ""; [HideInInspector] public ArrayList PosList, RotList, LouNumList; [HideInInspector] public Vector3 targetPos; public InputField NameInputShow; public InputField IntroInputShow; string name_, intro; public GameObject NodeIntroShowWin; [HideInInspector] public bool IsShowEditWin = false; public GameObject TheTime; GameObject ThePfire; public GameObject TheEditNodePalne;//停止记录后弹出面板 void Awake() { if (Instance == null) { Instance = this; } } void Start() { //EventDelegate.Add(this.popList.onChange, this.popChange);1111 //NodeIntroShowWin.SetActive(false); //Selected.selectChangJing = Selected.ChangJing.金钰大都会; //Selected.selectChangJing = Selected.ChangJing.云南石油; //ButtonName.text = "添加记录"; //TheYesOrNo = GameObject.Find("UI Root/ToolbarObject/NodeRecord").transform.FindChild("是否放弃记录").gameObject; //xList = new ArrayList(); //yList = new ArrayList(); //PosList = new ArrayList(); //RotList = new ArrayList(); //LouNumList = new ArrayList(); //NodeNameInput = this.transform.FindChild("NodeIntroShowWin").FindChild("NameInputShow").GetComponent(); //NodeIntroInput = this.transform.FindChild("NodeIntroShowWin").FindChild("IntroInputShow").GetComponent(); GenerateNode(); //ThePfire = GameObject.Find("pdrawline").gameObject; //camera_ = GameObject.Find("Main Camera").transform; } void FixedUpdate() { /*if (IsRecord)1111111111 { //float x = MouseFR.x; //xList.Add(x); //float y = MouseFR.y; //yList.Add(y); Vector3 pos = camera_.position; PosList.Add(pos); Vector3 rot = camera_.localEulerAngles; RotList.Add(rot); int cn = louceng.cengnum; LouNumList.Add(cn); } if (IsLoad) { if (count >= PosList.Count - 1) { IsLoad = false; GameObject.Find("Main Camera").GetComponent().enabled = true; //MouseFR.x = (float)xList[count - 1]; //MouseFR.y = (float)yList[count - 1]; xmlManager.Instance.SetCameraFromNodeData("Node/NodeRecord.xml", cjid, zqid, selected_jdid); return; } //MouseFR.x = (float)xList[count]; //MouseFR.y = (float)yList[count]; camera_.position = (Vector3)PosList[count]; camera_.localEulerAngles = (Vector3)RotList[count]; louceng.cengnum = (int)LouNumList[count]; count++; //count = count + 4; }*/ } // Update is called once per frame void Update() { if (last_id != selected_jdid) { last_id = selected_jdid; //IsShowEditWin = true; //NodeIntroShowWin.SetActive(true); UpdateNameIntro(selected_jdid); } if (IsDelete) { IsDelete = false; //UIManager.Instance.ShowWin(new UIClass(TipWin, this.gameObject, "closeCancelDelete"), UIManager.WinShowType.CloseOthers, true); UpdateNameIntro(0); MessageDispatcher.SendMessage("OPEN", (object)TipWin.name, "CUBE"); //TipWin.SetActive(true); //NodeIntroShowWin.SetActive(false); } if (IsShowEditWin) { IsShowEditWin = false; MessageDispatcher.SendMessage("OPEN", (object)NodeIntroShowWin.name, "CUBE"); //NodeIntroShowWin.SetActive(true); //UIManager.Instance.ShowWin(new UIClass(NodeIntroShowWin, this.gameObject, "closeCancelDelete"), UIManager.WinShowType.CloseOthers, true); // GameObject.Find("UI Root").transform.FindChild("BJ").gameObject.SetActive(false); //GameObject.Find("UI Root/ToolbarObject/DomeMenu/JieDian_shezhi").GetComponent().spriteName = "SavaGreen"; UpdateNameIntro(selected_jdid); } } public GameObject AddTagGame; public void AddNodeButton_Click() { //Stopwatch.seconds = 0; //Stopwatch.minutes = 0; //Stopwatch.hours = 0; //GameObject.Find("KaiShi").gameObject.transform.FindChild("Label").gameObject.GetComponent().text = "开始演练"; //GameObject.Find("KaiShi").gameObject.GetComponent().spriteName = "StartGreen"; //GameObject.Find("KaiShi").gameObject.GetComponent().tweenTarget = null; if (ButtonName.text == "新建记录") { ButtonName.text = "停止记录"; PosList.Clear(); RotList.Clear(); LouNumList.Clear(); //TheShowUI.SetActive(true); //TheShowUI.GetComponent().GetIt("开始记录"); //AddTagGame.SetActive(true); //GameObject.Find("Main Camera").GetComponent().Reset(false);//避免点击添加记录就开始演练 //RecordManager.Instance.StartRecord(); } else { ButtonName.text = "添加记录"; MessageDispatcher.SendMessage("OPEN", (object)TheEditNodePalne.name, "CUBE"); //TheShowUI.SetActive(true); //TheShowUI.GetComponent().GetIt("停止记录"); //AddTagGame.SetActive(false); //GameObject.Find("Main Camera").GetComponent().Stop(); //if (LouCengControllor.ToggleValue && RecordManager.Instance.IsRecording) //{ // RecordManager.Instance.RecordOneEvent(GameObject.Find(ChooseObject.ObjectName), eventTypeRecord.ControlJuBi, "", Vector3.zero, GameObject.Find(ChooseObject.ObjectName).transform, 0); //} //RecordManager.Instance.Endrecord(); //RecordManager.Instance.RecordOneEvent(this.gameObject, eventTypeRecord.None, "", Vector3.zero, this.transform, 0); } //TheTime.SetActive(false); } public void SaveEdit() { string name1 = NameInputShow.text; string intro1 = IntroInputShow.text; xmlManager.Instance.EditJieDian("NodeRecord.xml", cjid, zqid, selected_jdid, name1, intro1); GenerateNode(); MessageDispatcher.SendMessage("CLOSE", (object)NodeIntroShowWin.name, "CUBE"); closeCancelDelete(); } public void SaveNode() { NodeName = NodeNameInput.text; NodeIntro = NodeIntroInput.text; if (xmlManager.Instance.FindTheName("NodeRecord.xml", NodeName, cjid, zqid)) { NodeNameInput.text = "已经有此名字"; return; } jdid = xmlManager.Instance.GetJieDianCount("NodeRecord.xml", cjid, zqid); jdid++; xmlManager.Instance.CreatJieDian("Node/NodeRecord.xml", cjid, zqid, jdid, NodeName, NodeIntro, jdid + ".xml", jdid); //xmlController.RecordCameraWithMemoryDate("Node/NodeRecordCamera.xml", cjid, zqid, jdid, 0, LouNumList, PosList, RotList); //UIManager.Instance.CloseWin(new UIClass(EditWin, this.gameObject, "closeCancelDeleteA")); GenerateNode(); closeCancelDelete(); //RecordManager.Instance.SaveRecord_SerializeRecordToXML(zqid + "/" + jdid + ".xml"); } //public RecordManager recordManager;*/ public GameObject TheShowUI; /* public void LoadNode() { //MouseFR.enabled = false; TheTime.SetActive(false); Stopwatch.seconds = 0; Stopwatch.minutes = 0; Stopwatch.hours = 0; xmlManager.Instance.LoadJieDian("NodeRecord.xml", cjid, zqid, selected_jdid); //xmlController.LoadCameraFromMemoryDate("Node/NodeRecordCamera.xml", cjid, zqid, selected_jdid, 0); //IsLoad = true; //count = 1; foreach (Transform child in ThePfire.transform) { if (child != null) { Destroy(child.gameObject); } } GameObject.Find("ToolbarObject/DomeMenu/KaiShi").gameObject.transform.FindChild("Label").gameObject.GetComponent().text = "开始演练"; GameObject.Find("ToolbarObject/DomeMenu").transform.FindChild("KaiShi").gameObject.GetComponent().spriteName = "StartGreen"; GameObject.Find("ToolbarObject/DomeMenu").transform.FindChild("KaiShi").gameObject.GetComponent().tweenTarget = null; if (filename != "") { TheShowUI.SetActive(true); string str = xmlManager.Instance.GetJieDianName("NodeRecord.xml", cjid, zqid, selected_jdid); TheShowUI.GetComponent().GetIt(str + "--" + "开始回放"); RecordManager.Instance.StartPlayBack(zqid + "/" + filename); } } public void closeCancelDeleteA() { } public void closeCancelDeleteB() { } //public void TheYesButton() //{ // //EditWin.SetActive(false); // RecordManager.Instance.IsRecording = false; // closeCancelDelete(); //} public void TheNoButton() { closeCancelDelete(); } */ public GameObject TheYesOrNo;//询问是否放弃记录面板 public void Cancel() { closeCancelDelete(); } public GameObject NodePrefab; public static ArrayList NodeList = new ArrayList(); public Text TheName; public GameObject ParentUIGrid; public void GenerateNode() { int NodeCount = 0; NodeCount = xmlManager.Instance.GetJieDianCount("NodeRecord.xml", cjid, zqid); TheName.text = xmlManager.Instance.GetZaiQingName(cjid, zqid); foreach (Transform obj in ParentUIGrid.transform) { Destroy(obj.gameObject); } NodeList.Clear(); for (int i = 1; i <= NodeCount; i++) { GameObject checkBox = Instantiate(NodePrefab) as GameObject; checkBox.transform.SetParent(ParentUIGrid.transform); checkBox.name = "item" + i; checkBox.GetComponent().id = i; checkBox.GetComponent().FatherID = zqid; checkBox.GetComponent().filename = xmlManager.Instance.GetJieDianFilename("NodeRecord.xml", cjid, zqid, i); checkBox.GetComponentInChildren().text = xmlManager.Instance.GetJieDianName("NodeRecord.xml", cjid, zqid, i); NodeList.Add(checkBox); } } public Text IntroShow; public Text NameShow; public void UpdateNameIntro(int id) { string name; string intro; if (id == 0) { name = "请输入名称"; intro = "请输入简介"; } else { name = xmlManager.Instance.GetJieDianName("NodeRecord.xml", cjid, zqid, id); intro = xmlManager.Instance.GetJieDianIntro("NodeRecord.xml", cjid, zqid, id); } if (NameInputShow.gameObject.activeInHierarchy) { NameInputShow.gameObject.GetComponentInChildren().text = name; NameInputShow.text = name; IntroInputShow.gameObject.GetComponentInChildren().text = intro; IntroInputShow.text = intro; } } public GameObject TipWin; [HideInInspector] public bool IsDelete = false; [HideInInspector] public bool IsEdit = false; public void OKDelete() { MessageDispatcher.SendMessage("CLOSE", (object)TipWin.name, "CUBE"); xmlManager.Instance.DeleteJieDian("NodeRecord.xml", cjid, zqid, selected_jdid); xmlManager.Instance.DeleteJieDian("NodeRecordCamera.xml", cjid, zqid, selected_jdid); GenerateNode(); closeCancelDelete(); } public void closeCancelDelete() { } public void CancelDelete() { MessageDispatcher.SendMessage("CLOSE", (object)TipWin.name, "CUBE"); closeCancelDelete(); } public void GetZaiQingMess(int id, string Cj) { zqid = id; cjid = Cj.ToString(); TheName.text = xmlManager.Instance.GetZaiQingName(cjid, zqid); GenerateNode(); } }