using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using static UnityEditor.PlayerSettings; public class UITeleportPanel : MonoBehaviour { [HideInInspector] public InputField curActiveInput; public Transform itemParent; public Button btnAdd; // Start is called before the first frame update void Start() { btnAdd.onClick.AddListener(AddItem); } void AddItem() { Object obj = Resources.Load("Prefabs/teleportItem"); if (obj == null) { UIWindow.Instance.ShowMessage("teleportItem.prefabʧ°Ü"); return; } GameObject go = Instantiate(obj) as GameObject; ; go.transform.SetParent(itemParent, false); int size = MapManager.Instance.AddTeleportPointSize(); UITeleportItem item = go.GetComponent(); item.itemIdx = size; var gridPos = MapManager.Instance.map.selector.getMapGrid(Camera.main.transform.position); MapManager.Instance.CreateSpecialPoint(gridPos.x, gridPos.y, MapManager.EditCellType.TeleportCell); } public void AddItem(Vector2Int pos, int nextMapId, Vector2Int newMapPos) { Object obj = Resources.Load("Prefabs/teleportItem"); if (obj == null) { UIWindow.Instance.ShowMessage("teleportItem.prefabʧ°Ü"); return; } GameObject go = Instantiate(obj) as GameObject; ; go.transform.SetParent(itemParent, false); int size = MapManager.Instance.AddTeleportPointSize(); MapManager.Instance.SetCurTeleportPointIdx(size); UITeleportItem item = go.GetComponent(); item.itemIdx = size; item.txtPos.text = $"{pos.x},{pos.y}"; item.txtNextMapID.text = nextMapId.ToString(); item.txtNextMapPos.text = $"{newMapPos.x},{newMapPos.y}"; MapManager.Instance.CreateSpecialPoint(pos.x, pos.y, MapManager.EditCellType.TeleportCell); } public void RemoveAll() { int count = itemParent.childCount; for (int i = 0; i < count; i++) { DestroyImmediate(itemParent.GetChild(0).gameObject); } } }