using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using AX.MessageSystem; using AX.NetworkSystem; public class OilSetManager : MonoBehaviour { public static OilSetManager GetInstance; public Text OutShowText; public ToggleRecordByAC ModelChange; public InputFieldRecordByAC ChuWuIput; public DropDownRecordByAC ChuWuDropDown; public SliderRecordByAC ChuLiangSlider; public Text ChuLiangAccountShow; public ButtonRecordByAC SureBtn; public ButtonRecordByAC CancelBtn; #region 爆炸UI // 沸溢按钮 public CommonToggle BoilOverToggle; // 爆炸文字父对象 public GameObject ExplodeObj; // 喷溅沸溢父对象 public GameObject BoilOverObj; // 爆炸按钮 public CommonToggle ExplodeToggle; // 爆炸时长 public InputField InputExplodeTime; // 爆炸死亡范围 public InputField InputExplodeDeadRange; // 爆炸受伤范围 public InputField InputExplodeHurtRange; // 喷溅时间 public InputField InputSplashTime; // 发生喷溅几率 public InputField InputSplashProbability; // 沸溢时间 public InputField InputBoilOverTime; // 发生沸溢几率 public InputField InputBoilOverProbability; // 喷溅死亡范围 public InputField InputBoilOverDeadRange; // 沸溢文本 public Text BoilOverText; // 爆炸文本 public Text ExplodeText; #endregion private OilTankMessage NowSelectMessage; private string ChuWu; private float ChuLiang; public Transform Target; void Awake() { ModelChange.OutInterFaceToggle = OnvalueChangedModelChange; ChuWuIput.OutInterFaceInPutField = InputFieldValueChangedChuWuInput; ChuWuDropDown.OutInterFaceDropDown = DropDownValueChangedChuWuDrop; ChuLiangSlider.OutInterFaceSlider = SliderValueChangedChuLiangSlider; SureBtn.OutInterFaceButton = BtnClickSure; CancelBtn.OutInterFaceButton = BtnClickCancel; GetInstance = this; gameObject.SetActive(false); ExplodeToggle.OnClicked = BaoZhaToggle_OnClicked; ExplodeToggle.UsedColor = false; BoilOverToggle.OnClicked = FeiYiToggle_OnClicked; BoilOverToggle.UsedColor = false; BoilOverText.text = "1.当火灾持续(\u3000)分钟未得到有效控制时,有(\u3000)%的几率出现沸溢。\n2.出现沸溢后(\u3000)分钟内火势仍未得到有效控制时有(\u3000)% 的几率出现喷溅。\n3.在喷溅范围(\u3000)米内的人员全部死亡。"; ExplodeText.text = "1.冷却强度不足时,(\u3000)分钟发生爆炸。\n2.爆炸后周边(\u3000)米范围内人员死亡;(\u3000)米范围内受伤。"; InputBoilOverProbability.onValueChanged.AddListener(InputBoilOverProbabilityFiexdValue); InputSplashProbability.onValueChanged.AddListener(InputSplashProbabilityFiexdValue); InputExplodeDeadRange.onValueChanged.AddListener(InputExplodeDeadRangeValue); InputExplodeHurtRange.onValueChanged.AddListener(InputExplodeHurtRangeValue); MessageDispatcher.AddListener("LOAD_UIDISASTER", LoadUIDisaster); } private void InputExplodeHurtRangeValue(string arg0) { int num = 0; if (!string.IsNullOrEmpty(arg0)) { if (string.IsNullOrEmpty(InputExplodeDeadRange.text)) { num = int.Parse(arg0); num = Mathf.Clamp(num, 0, 1000); } else { num = int.Parse(arg0); int numMin = int.Parse(InputExplodeDeadRange.text); num = Mathf.Clamp(num, numMin + 10, 1000); } } InputExplodeHurtRange.text = num.ToString(); } private void InputExplodeDeadRangeValue(string arg0) { int num = 0; if (!string.IsNullOrEmpty(arg0)) { num = int.Parse(arg0); num = Mathf.Clamp(num, 0, 1000); } InputExplodeDeadRange.text = num.ToString(); InputExplodeHurtRange.text = (num + 10).ToString(); } // 限制喷溅几率输入数值 private void InputBoilOverProbabilityFiexdValue(string arg0) { int num = 0; if (!string.IsNullOrEmpty(arg0)) { num = int.Parse(arg0); num = Mathf.Clamp(num, 0, 100); } InputBoilOverProbability.text = num.ToString(); } // 限制沸溢几率输入数值 private void InputSplashProbabilityFiexdValue(string arg0) { int num = 0; if (!string.IsNullOrEmpty(arg0)) { num = int.Parse(arg0); num = Mathf.Clamp(num, 0, 100); } InputSplashProbability.text = num.ToString(); } private void FeiYiToggle_OnClicked(CommonToggle arg1, bool arg2) { BoilOverObj.SetActive(arg2); //if (!arg2) //{ // InputSplashTime.text = NowSelectMessage.SplashTime.ToString(); // InputSplashProbability.text = ""; // InputBoilOverTime.text = ""; // InputBoilOverProbability.text = ""; //} } private void BaoZhaToggle_OnClicked(CommonToggle arg1, bool arg2) { ExplodeObj.SetActive(arg2); //if (!arg2) //{ // InputExplodeTime.text = ""; // InputExplodeDeadRange.text = ""; // InputExplodeHurtRange.text = ""; //} } private void OnDestroy() { InputBoilOverProbability.onValueChanged.RemoveListener(InputBoilOverProbabilityFiexdValue); InputSplashProbability.onValueChanged.RemoveListener(InputSplashProbabilityFiexdValue); MessageDispatcher.RemoveListener("LOAD_UIDISASTER", LoadUIDisaster); } private void LoadUIDisaster(IMessage obj) { if (GameSettings.othersSettings.isSelectedDisaster) { if (GameSettings.othersSettings.mode != Mode.DisasterManagement) {//若是练习或演习模式进入导调组界面,则不可以修改 SetInteractable(); //ModelChange.gameObject.GetComponent().interactable = false; //ChuWuIput.gameObject.GetComponent().interactable = false; //ChuWuDropDown.GetComponent().interactable = false; //ChuLiangSlider.GetComponent().interactable = false; //SureBtn.GetComponent