using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class YingJiuData { public string name; public string areaname; } public class YingJiuPanel : ResourceLoadPanel { public Button CloseBtn; public Button SureBtn; public Dropdown AreaDropdown; private List AQQY; private GameObject NowClickPerson; //private Transform NowAQQY; private string AQQYName; private void Start() { CloseBtn.onClick.AddListener(CloseBtn_Click); SureBtn.onClick.AddListener(SureBtn_Click); AreaDropdown.onValueChanged.AddListener(AreaDropdown_valueChanged); } private void AreaDropdown_valueChanged(int value) { // NowAQQY = AQQY[value]; AQQYName = value == 0 ? "安全区域1" : "安全区域2"; } public void AddRecordEventYingJiu(GameObject obj, YingJiuData data) { if (ReplaySetting.PlayStatus == PlayStatus.isEditor && RecordManager.Instance.recordStatus == RecordStatus.normal) { var eventData = new EventData(); eventData.time = RecordManager.Instance.RecordTimer; eventData.cloneObjType = obj.GetComponent().gameObjType; eventData.eventType = RecordEventType.YingJiu; eventData.json = JsonUtility.ToJson(data); RecordManager.Instance.jsonData.eventDataList.Add(eventData); } } public void SureBtn_Click() { if (NowClickPerson != null) { Debug.Log(NowClickPerson.name); YingJiuData data = new YingJiuData(); data.name = NowClickPerson.name; //data.areaname = AreaDropdown.captionText.text.Split('-')[1]; data.areaname = AreaDropdown.captionText.text; AddRecordEventYingJiu(NowClickPerson, data); if (NowClickPerson.GetComponent().gameObjType == CloneObjType.Wounded) { ResourceLoadWindow.Instance.LoadTextHintWindow("伤员被营救到" + data.areaname, 1f); } else { ResourceLoadWindow.Instance.LoadTextHintWindow("被困人员被营救到" + data.areaname, 1f); } //TODO:将人员移动到安全区域(上一版本播放动画) NowClickPerson.GetComponent().HaveFinish = true; NowClickPerson.GetComponent().AreaName = data.areaname; NowClickPerson.gameObject.SetActive(false); NowClickPerson = null; } CloseBtn_Click(); } private void CloseBtn_Click() { gameObject.SetActive(false); } public void YingJiu(GameObject obj, string areaname = "") { NowClickPerson = obj; //SetAQQY(areaname); if (!string.IsNullOrEmpty(areaname)) AreaDropdown.captionText.text = areaname; } private void SetAQQY(string areaname) { if (AQQY == null) AQQY = new List(); AQQY.Clear(); AreaDropdown.options.Clear(); if (string.IsNullOrEmpty(areaname)) { //TODO:得到安全区域 foreach (Transform item in GameObject.Find("P_Tool").transform.Find("P_StagingArea")) { AQQY.Add(item); Dropdown.OptionData data = new Dropdown.OptionData { text = "安全区-" + item.name }; AreaDropdown.options.Add(data); } if (AQQY.Count == 0) { ResourceLoadWindow.Instance.LoadTextHintWindow("尚未设置安全区域!", 0.5f); gameObject.SetActive(false); } } else { //TODO:回放安全区域设置 } } }