2025-06-14 13:46:24 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
|
|
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ʧ<62><CAA7>");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
GameObject go = Instantiate(obj) as GameObject; ;
|
|
|
|
|
|
go.transform.SetParent(itemParent, false);
|
|
|
|
|
|
int size = MapManager.Instance.AddTeleportPointSize();
|
2025-07-19 12:48:11 +08:00
|
|
|
|
Vector2Int newPos = MapManager.Instance.GetCameraPos();
|
2025-06-14 13:46:24 +08:00
|
|
|
|
UITeleportItem item = go.GetComponent<UITeleportItem>();
|
|
|
|
|
|
item.itemIdx = size;
|
2025-07-19 12:48:11 +08:00
|
|
|
|
item.editCellType = MapManager.EditCellType.TeleportCell;
|
|
|
|
|
|
item.SetItemPos(newPos);
|
|
|
|
|
|
MapManager.Instance.CreateSpecialPoint(newPos, item);
|
|
|
|
|
|
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void AddItem(Vector2Int pos, int nextMapId, Vector2Int newMapPos)
|
|
|
|
|
|
{
|
|
|
|
|
|
Object obj = Resources.Load("Prefabs/teleportItem");
|
|
|
|
|
|
if (obj == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("teleportItem.prefabʧ<62><CAA7>");
|
|
|
|
|
|
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<UITeleportItem>();
|
|
|
|
|
|
item.itemIdx = size;
|
|
|
|
|
|
item.txtPos.text = $"{pos.x},{pos.y}";
|
|
|
|
|
|
item.txtNextMapID.text = nextMapId.ToString();
|
|
|
|
|
|
item.txtNextMapPos.text = $"{newMapPos.x},{newMapPos.y}";
|
2025-07-30 15:22:56 +08:00
|
|
|
|
item.editCellType = MapManager.EditCellType.TeleportCell;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
MapManager.Instance.CreateSpecialPoint(pos, item);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void RemoveAll()
|
|
|
|
|
|
{
|
|
|
|
|
|
int count = itemParent.childCount;
|
|
|
|
|
|
for (int i = 0; i < count; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
DestroyImmediate(itemParent.GetChild(0).gameObject);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|