Files
HX_MapEditor/Assets/Scripts/UI/UIRelivesPanel.cs

72 lines
2.2 KiB
C#
Raw Normal View History

2025-06-14 13:46:24 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIRelivesPanel : 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/reliveItem");
if (obj == null)
{
UIWindow.Instance.ShowMessage("reliveItem.prefabʧ<62><CAA7>");
return;
}
2025-07-19 12:48:11 +08:00
Vector2Int newPos = MapManager.Instance.GetCameraPos();
2025-06-14 13:46:24 +08:00
GameObject go = Instantiate(obj) as GameObject; ;
go.transform.SetParent(itemParent, false);
UIReliveItem item = go.GetComponent<UIReliveItem>();
item.reliveIdx = itemParent.childCount;
2025-07-19 12:48:11 +08:00
item.editCellType = MapManager.EditCellType.ReliveCell;
item.SetItemPos(newPos);
MapManager.Instance.CreateSpecialPoint(newPos, item);
2025-06-14 13:46:24 +08:00
}
public void AddItem(int reliveType, int mapId, Vector2Int pos, int radius, int realMapId)
{
Object obj = Resources.Load("Prefabs/reliveItem");
if (obj == null)
{
UIWindow.Instance.ShowMessage("safeAreaItem.prefabʧ<62><CAA7>");
return;
}
GameObject go = Instantiate(obj) as GameObject; ;
go.transform.SetParent(itemParent, false);
UIReliveItem item = go.GetComponent<UIReliveItem>();
item.dropType.value = reliveType;
item.txtMapId.text = mapId.ToString();
item.txtPos.text = $"{pos.x},{pos.y}";
item.txtRadius.text = radius.ToString();
item.reliveIdx = itemParent.childCount;
if (mapId != realMapId)
return;
2025-07-19 12:48:11 +08:00
item.editCellType = MapManager.EditCellType.ReliveCell;
2025-06-14 13:46:24 +08:00
MapManager.Instance.SetReliveCenterPoint(item.reliveIdx, radius);
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);
}
}
}