using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.VFX; ///格子信息 - 绿色块 ///功能:加载格子数据,重新计算格子,显示格子,隐藏格子 public class UICellInfo : MonoBehaviour { public static UICellInfo Instance; public Text txtMapWidth; public Text txtMapHeight; public Text txtTotalCells; public Text txtMoveCells; public InputField txtCellRows; public InputField txtCellCols; public InputField txtCellWidth; public InputField txtCellHeight; public bool bMapOpened; public Text txtSelectInfo; private void Awake() { Instance = this; } private void Start() { Cleanup(); } void Cleanup() { txtMapWidth.text = string.Empty; txtMapHeight.text = string.Empty; txtTotalCells.text = string.Empty; txtMoveCells.text = string.Empty; txtCellRows.text = string.Empty; txtCellCols.text = string.Empty; txtCellWidth.text = string.Empty; txtCellHeight.text = string.Empty; bMapOpened = false; } public void CloseMap() { Cleanup(); UIWindow.Instance.uiCellEditor.togEdit.isOn = false; UIWindow.Instance.uiCellEditor.togPathTest.isOn = false; } public void ShowCells() { MapManager.Instance.ShowMapGrid(); } public void HideCells() { MapManager.Instance.HideMapGrid(); } public void ShowMapCellInfo() { if (MapManager.Instance.map == null || MapManager.Instance.map.selector == null) return; if(MapManager.Instance._curMapRegions == null) return; txtMapWidth.text = MapManager.Instance._curMapRegions.regionRowNum.ToString(); txtMapHeight.text = MapManager.Instance._curMapRegions.regionColNum.ToString(); txtCellRows.text = MapManager.Instance.map.selector.horizontalNumber.ToString(); txtCellCols.text = MapManager.Instance.map.selector.verticalNumber.ToString(); txtTotalCells.text = MapManager.Instance.map.selector.totalNumber.ToString(); txtCellWidth.text = MapManager.widthPixel.ToString(); txtCellHeight.text = MapManager.heightPixel.ToString(); txtMoveCells.text = MapManager.Instance.map.selector.moveNum.ToString(); } /// /// 加载格子 /// public void LoadCell() { MapManager.Instance.LoadMapObs(UIWindow.Instance.uiMapPanel.CurOpenMapId); ShowMapCellInfo(); } /// /// 重新计算格子 /// public void ReCalculateCell() { int width = int.Parse(txtCellRows.text); int height = int.Parse(txtCellCols.text); float cellW = int.Parse(txtCellWidth.text) / 100.0f; float cellH = int.Parse(txtCellHeight.text) / 100.0f; MapManager.Instance.GenerateMap(UIWindow.Instance.uiMapPanel.CurOpenMapId,width * cellW, height * cellH, cellW, cellH); ShowMapCellInfo(); } public void Update() { bool isOpen = false; do { if (MapManager.Instance.map == null) break; if (MapManager.Instance.map.selector == null) break; if (MapManager.Instance.map.selector.selectedGridIndex.Count == 1) { int beginIndex = MapManager.Instance.map.selector.selectedGridIndex[0]; MapManager.Instance.map.selector.GetXyByIndex(beginIndex, out int x, out int y); txtSelectInfo.text = string.Format("所选点:{0},{1} 信息:{2}", x, y, CellTypeColors.GetAreaStr((MapManager.Instance.map.selector.dataArray[beginIndex].barrier))); isOpen = true; } } while (false); txtSelectInfo.transform.parent.gameObject.SetActive(isOpen); } }