using AX.MessageSystem; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class WoundedInfo : MonoBehaviour { public Text woundedAll; public Text woundedRescued; public Text woundedUnrescued; public static event Func getAllWoundedCount; public static event Func getWoundedRescuedCount; public static event Func getWoundedUnrescuedCount; void Awake() { woundedAll = transform.Find("WoundedAll").GetComponent(); woundedRescued = transform.Find("WoundedRescued").GetComponent(); woundedUnrescued = transform.Find("WoundedUnrescued").GetComponent(); MessageDispatcher.AddListener("SomeoneOutOfTrap", UpdateInfoListener); //开启窗口时,每当有人被营救,更新显示信息 } private void OnDestroy() { MessageDispatcher.RemoveListener("SomeoneOutOfTrap", UpdateInfoListener); //开启窗口时,每当有人被营救,更新显示信息 } private void OnEnable() { UpdateInfo(); } void UpdateInfoListener(IMessage obj) { UpdateInfo(); } void UpdateInfo() { IntData dataAll = new IntData(0); if (getAllWoundedCount != null) { dataAll = getAllWoundedCount(dataAll); } woundedAll.text = dataAll.value.ToString(); IntData dataRescued = new IntData(0); if (getWoundedRescuedCount != null) { dataRescued = getWoundedRescuedCount(dataRescued); } woundedRescued.text = dataRescued.value.ToString(); woundedUnrescued.text = (dataAll.value - dataRescued.value).ToString(); } }