using AX.MessageSystem; using UnityEngine; using UnityEngine.UI; /// /// 火场信息面板 /// public class FireInfoToggle : BaseToggle { public override void OnEnable() { base.OnEnable(); MessageDispatcher.AddListener("CloseFireInfoPanel", CancelToggle); } public override void OnDisable() { base.OnDisable(); MessageDispatcher.RemoveListener("CloseFireInfoPanel", CancelToggle); } public override void OnDestroy() { base.OnDestroy(); MessageDispatcher.RemoveListener("CloseFireInfoPanel", CancelToggle); } public void CancelToggle(IMessage obj) { if(gameObject) { var num = (int)obj.Data; int myNum = int.Parse(gameObject.name); if (num == myNum) { GetComponent().isOn = false; } } } public override void RespondFun(bool value) { int num = int.Parse(gameObject.name); switch ((FireInfoToggleButton)num) { case FireInfoToggleButton.报警信息: //显示报警信息界面 MessageDispatcher.SendMessage(FireInfoMessage.AlarmMessage.ToString(), value); break; case FireInfoToggleButton.侦察报告: MessageDispatcher.SendMessage(FireInfoMessage.InvestigationReport.ToString(), value); break; case FireInfoToggleButton.供水报告: MessageDispatcher.SendMessage(FireInfoMessage.WaterSupplyReport.ToString(), value); break; case FireInfoToggleButton.疏散救生: MessageDispatcher.SendMessage(FireInfoMessage.EvacuationAndRescue.ToString(), value); break; case FireInfoToggleButton.到场力量: //显示到场力量界面 MessageDispatcher.SendMessage(FireInfoMessage.ArrivedForce.ToString(), value); break; case FireInfoToggleButton.外部力量: MessageDispatcher.SendMessage(FireInfoMessage.ExternalForce.ToString(), value); break; case FireInfoToggleButton.内部力量: MessageDispatcher.SendMessage(FireInfoMessage.TheInternalForce.ToString(), value); break; case FireInfoToggleButton.在途力量: MessageDispatcher.SendMessage(FireInfoMessage.OnWayForce.ToString(), value); break; case FireInfoToggleButton.周边物资: MessageDispatcher.SendMessage(FireInfoMessage.TheSurroundingMaterial.ToString(), value); break; case FireInfoToggleButton.联动力量: MessageDispatcher.SendMessage(FireInfoMessage.LinkageForces.ToString(), value); break; case FireInfoToggleButton.参谋建议: //显示参谋建议界面 if (value) { //UIView-OnHide UIManager.GetView().OnHide = (v) => { GetComponent().isOn = false; }; UIManager.GetView().ShowNoInput(); } else { UIManager.HideView(); } break; case FireInfoToggleButton.知情人反馈: MessageDispatcher.SendMessage(FireInfoMessage.InsiderFeedback.ToString(), value); break; } Debug.Log(string.Format("{0}按钮触发{1}", (FireInfoToggleButton)num, value)); } } public enum FireInfoToggleButton { 报警信息 = 0, 侦察报告 = 1, 供水报告 = 2, 疏散救生 = 3, 到场力量 = 4, 外部力量 = 5, 内部力量 = 6, 在途力量 = 7, 周边物资 = 8, 联动力量 = 9, 参谋建议 = 10, 知情人反馈 =11 }