2025-06-14 13:46:24 +08:00
|
|
|
|
using HxGame.Data;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
using System.Linq;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
using static HxGame.Data.MonstersConfig;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
public class UIMonsterPanel : MonoBehaviour
|
|
|
|
|
|
{
|
|
|
|
|
|
[HideInInspector]
|
|
|
|
|
|
public InputField curActiveInput;
|
|
|
|
|
|
|
|
|
|
|
|
[HideInInspector]
|
|
|
|
|
|
public List<string> curActiveList;
|
|
|
|
|
|
|
|
|
|
|
|
public Button btnClose;
|
|
|
|
|
|
public Button btnAddMonster;
|
|
|
|
|
|
public Button btnAddGroup;
|
|
|
|
|
|
public Button btnDeleteGroup;
|
|
|
|
|
|
|
|
|
|
|
|
#region MonsterInfo
|
|
|
|
|
|
public InputField txtMonsterID; //<2F><><EFBFBD><EFBFBD>ID
|
|
|
|
|
|
public InputField txtName; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public Dropdown dropRefreshType; //ˢ<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public InputField txtRefreshTime; //ˢ<><CBA2>ʱ<EFBFBD>䣨<EFBFBD><E4A3A8><EFBFBD>룩
|
|
|
|
|
|
public InputField txtCount; //ˢ<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public InputField txtRadius; //ˢ<>ַ<EFBFBD>Χ
|
|
|
|
|
|
public Dropdown dropPatrol; //Ѳ<><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public InputField txtPath; //Ѳ<><D1B2>·<EFBFBD><C2B7>
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
public ScrollRect svMonsters;
|
|
|
|
|
|
public Transform itemParent;
|
2025-07-19 01:21:40 +08:00
|
|
|
|
public int itemIdx = 0;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
private UIMonsterItem _curMonsterItem;
|
|
|
|
|
|
|
2025-07-18 22:28:40 +08:00
|
|
|
|
public MonstersConfig monstersConfig = new();
|
2025-06-14 13:46:24 +08:00
|
|
|
|
private void Awake()
|
|
|
|
|
|
{
|
|
|
|
|
|
btnClose.onClick.AddListener(OnClickClose);
|
|
|
|
|
|
btnAddGroup.onClick.AddListener(OnAddGroup);
|
2025-06-22 15:21:25 +08:00
|
|
|
|
txtMonsterID.onEndEdit.AddListener(OnEditorMonsterId);
|
|
|
|
|
|
txtName.onEndEdit.AddListener(OnEditorMonsterName);
|
|
|
|
|
|
txtRadius.onEndEdit.AddListener(OnEditorMonsterRadius);
|
|
|
|
|
|
txtCount.onEndEdit.AddListener(OnEditorMonsterCount);
|
2025-07-19 01:21:40 +08:00
|
|
|
|
txtRefreshTime.onEndEdit.AddListener(OnEditorRefTime);
|
|
|
|
|
|
dropRefreshType.onValueChanged.AddListener(OnEditorRefType);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnEditorRefType(int arg0)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_curMonsterItem == null) return;
|
|
|
|
|
|
_curMonsterItem.monster.createMode = (CreateMonsterMode)arg0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnEditorRefTime(string arg0)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_curMonsterItem == null) return;
|
|
|
|
|
|
if (!int.TryParse(arg0, out var intValue))
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
_curMonsterItem.monster.delayTime = intValue;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-22 15:21:25 +08:00
|
|
|
|
private void OnEditorMonsterCount(string arg0)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!int.TryParse(arg0, out var intValue))
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
2025-07-19 01:21:40 +08:00
|
|
|
|
_curMonsterItem.monster.num = intValue;
|
2025-06-22 15:21:25 +08:00
|
|
|
|
_curMonsterItem.RefreshItem();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnEditorMonsterRadius(string arg0)
|
|
|
|
|
|
{
|
2025-07-19 01:21:40 +08:00
|
|
|
|
if (_curMonsterItem == null || _curMonsterItem.monster.itemIdx == -1)
|
|
|
|
|
|
return;
|
2025-06-22 15:21:25 +08:00
|
|
|
|
if (!int.TryParse(arg0, out var intValue))
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
_curMonsterItem.monster.radius = intValue;
|
|
|
|
|
|
_curMonsterItem.RefreshItem();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnEditorMonsterName(string arg0)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_curMonsterItem == null) return;
|
|
|
|
|
|
_curMonsterItem.RefreshItem();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnEditorMonsterId(string arg0)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_curMonsterItem == null) return;
|
|
|
|
|
|
if (!int.TryParse(arg0, out var intValue))
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
_curMonsterItem.monster.id = intValue;
|
|
|
|
|
|
_curMonsterItem.RefreshItem();
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnClickClose()
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.uiEditMapConfig.togEditMonsters.isOn = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void Cleanup()
|
|
|
|
|
|
{
|
|
|
|
|
|
txtMonsterID.text = string.Empty;
|
|
|
|
|
|
txtName.text = string.Empty;
|
|
|
|
|
|
txtRefreshTime.text = string.Empty;
|
|
|
|
|
|
txtCount.text = string.Empty;
|
|
|
|
|
|
txtRadius.text = string.Empty;
|
|
|
|
|
|
txtPath.text = string.Empty;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ӷ<EFBFBD><D3B7>飬<EFBFBD><E9A3AC>item<65><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|
|
|
|
|
private void OnAddGroup()
|
|
|
|
|
|
{
|
|
|
|
|
|
if (_curMonsterItem == null)
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
if(_curMonsterItem.groupId > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>ҳ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>ҳ");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
2025-07-18 22:28:40 +08:00
|
|
|
|
var gropcfg = monstersConfig.monsterConfigs.Find((monster) => monster.itemIdx == _curMonsterItem.monster.itemIdx);
|
|
|
|
|
|
if (gropcfg == null) return;
|
|
|
|
|
|
int index = monstersConfig.monsterConfigs.IndexOf(gropcfg);
|
|
|
|
|
|
MonstersConfig.MonsterConfig newmonster = new MonstersConfig.MonsterConfig();
|
|
|
|
|
|
monstersConfig.monsterConfigs.Insert(index + 1, newmonster);
|
|
|
|
|
|
foreach (var prop in typeof(MonsterConfig).GetFields())
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
prop.SetValue(newmonster, prop.GetValue(gropcfg));
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
2025-07-18 22:28:40 +08:00
|
|
|
|
newmonster.itemIdx = -1;
|
|
|
|
|
|
newmonster.groupId = gropcfg.itemIdx;
|
|
|
|
|
|
AddItem(newmonster);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void AddItem()
|
|
|
|
|
|
{
|
|
|
|
|
|
Cleanup();
|
|
|
|
|
|
MonstersConfig.MonsterConfig monster = new MonstersConfig.MonsterConfig();
|
|
|
|
|
|
monster.itemIdx = ++itemIdx;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
monster.groupId = -1;
|
2025-07-19 01:21:40 +08:00
|
|
|
|
monster.radius = 10;
|
|
|
|
|
|
monster.pos = new Vector2Int(MapManager.Instance.map.selector.horizontalNumber / 2, MapManager.Instance.map.selector.verticalNumber / 2);
|
2025-07-18 22:28:40 +08:00
|
|
|
|
monstersConfig.monsterConfigs.Insert(0, monster);
|
2025-07-19 01:21:40 +08:00
|
|
|
|
var createItem = AddItem(monster);
|
|
|
|
|
|
OnClickItem(createItem);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void LoadMonsterConfig(int mapId)
|
|
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
monstersConfig.ClearAll();
|
|
|
|
|
|
if (!monstersConfig.LoadXML(mapId))
|
2025-06-14 13:46:24 +08:00
|
|
|
|
return;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
for (int i = 0; i < monstersConfig.monsterConfigs.Count; i++)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
MonstersConfig.MonsterConfig monster = monstersConfig.monsterConfigs[i];
|
|
|
|
|
|
if (monster.itemIdx == -1) continue;
|
|
|
|
|
|
var itemMonster = AddItem(monster);
|
|
|
|
|
|
if (itemMonster == null) continue;
|
|
|
|
|
|
var groupList = monstersConfig.monsterConfigs.Where(item => item.groupId == monster.itemIdx).ToList();
|
|
|
|
|
|
foreach (var item in groupList)
|
|
|
|
|
|
{
|
|
|
|
|
|
AddItem(item);
|
|
|
|
|
|
}
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-18 22:28:40 +08:00
|
|
|
|
public UIMonsterItem AddItem(MonstersConfig.MonsterConfig monster)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
|
|
|
|
|
UnityEngine.Object obj = Resources.Load("Prefabs/monsterItem");
|
|
|
|
|
|
if (obj == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
UIWindow.Instance.ShowMessage("monsterItem.prefabʧ<62><CAA7>");
|
2025-07-18 22:28:40 +08:00
|
|
|
|
return null;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
2025-07-18 22:28:40 +08:00
|
|
|
|
var cfgindex = monstersConfig.monsterConfigs.IndexOf(monster);
|
|
|
|
|
|
itemIdx = Math.Max(monster.itemIdx, itemIdx);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
GameObject go = Instantiate(obj) as GameObject; ;
|
|
|
|
|
|
go.transform.SetParent(itemParent, false);
|
2025-07-18 22:28:40 +08:00
|
|
|
|
go.transform.SetSiblingIndex(cfgindex);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
UIMonsterItem item = go.transform.Find("monsterSubItem").GetComponent<UIMonsterItem>();
|
2025-07-18 22:28:40 +08:00
|
|
|
|
item.editCellType = MapManager.EditCellType.MonsterArea;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
item.SetItem(monster);
|
|
|
|
|
|
item.OnClick = OnClickItem;
|
|
|
|
|
|
item.OnCopyItem = OnCopyItem;
|
|
|
|
|
|
_curMonsterItem = item;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
return item;
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void OnClickItem(UIMonsterItem item)
|
|
|
|
|
|
{
|
|
|
|
|
|
//<2F>ȱ<EFBFBD><C8B1><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
Cleanup();
|
|
|
|
|
|
_curMonsterItem = item;
|
|
|
|
|
|
MonstersConfig.MonsterConfig monster = _curMonsterItem.monster;
|
|
|
|
|
|
txtMonsterID.text = monster.id.ToString();
|
|
|
|
|
|
dropRefreshType.value = (int)monster.createMode;
|
|
|
|
|
|
if (monster.createMode == CreateMonsterMode.Death)
|
|
|
|
|
|
txtRefreshTime.text = monster.delayTime.ToString();
|
|
|
|
|
|
else
|
|
|
|
|
|
txtRefreshTime.text = monster.strTime;
|
|
|
|
|
|
txtCount.text = monster.num.ToString();
|
|
|
|
|
|
txtRadius.text = monster.radius.ToString();
|
|
|
|
|
|
dropPatrol.value = (int)monster.patrolMode;
|
2025-07-19 01:21:40 +08:00
|
|
|
|
ScrollToTarget(item);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void OnCopyItem(UIMonsterItem item)
|
|
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
var gropcfg = monstersConfig.monsterConfigs.Find((monster) => monster.itemIdx == item.monster.itemIdx);
|
|
|
|
|
|
if (gropcfg == null) return;
|
|
|
|
|
|
int index = monstersConfig.monsterConfigs.IndexOf(gropcfg);
|
|
|
|
|
|
if (item.monster.itemIdx == -1)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
MonstersConfig.MonsterConfig newmonster = new MonstersConfig.MonsterConfig();
|
|
|
|
|
|
monstersConfig.monsterConfigs.Insert(index + 1, newmonster);
|
|
|
|
|
|
foreach (var prop in typeof(MonsterConfig).GetFields())
|
|
|
|
|
|
{
|
|
|
|
|
|
prop.SetValue(newmonster, prop.GetValue(gropcfg));
|
|
|
|
|
|
}
|
|
|
|
|
|
newmonster.itemIdx = -1;
|
|
|
|
|
|
newmonster.groupId = gropcfg.itemIdx;
|
|
|
|
|
|
AddItem(newmonster);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
2025-07-18 22:28:40 +08:00
|
|
|
|
else {
|
2025-07-19 01:21:40 +08:00
|
|
|
|
var grops = monstersConfig.monsterConfigs.FindAll((tt) => tt.groupId == item.monster.itemIdx);
|
|
|
|
|
|
int inserIndex = index + grops.Count + 1;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
//<2F>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
MonstersConfig.MonsterConfig newmonster = new MonstersConfig.MonsterConfig();
|
2025-07-19 01:21:40 +08:00
|
|
|
|
monstersConfig.monsterConfigs.Insert(inserIndex, newmonster);
|
2025-07-18 22:28:40 +08:00
|
|
|
|
foreach (var prop in typeof(MonsterConfig).GetFields())
|
|
|
|
|
|
{
|
|
|
|
|
|
prop.SetValue(newmonster, prop.GetValue(item.monster));
|
|
|
|
|
|
}
|
|
|
|
|
|
newmonster.itemIdx = ++itemIdx;
|
|
|
|
|
|
newmonster.groupId = -1;
|
|
|
|
|
|
AddItem(newmonster);
|
2025-07-19 01:21:40 +08:00
|
|
|
|
|
2025-07-18 22:28:40 +08:00
|
|
|
|
foreach (var gropItem in grops)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
MonsterConfig config = new MonsterConfig();
|
2025-07-19 01:21:40 +08:00
|
|
|
|
monstersConfig.monsterConfigs.Insert(++inserIndex, config);
|
2025-07-18 22:28:40 +08:00
|
|
|
|
foreach (var prop in typeof(MonsterConfig).GetFields())
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
prop.SetValue(config, prop.GetValue(gropItem));
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
2025-07-19 01:21:40 +08:00
|
|
|
|
config.groupId = newmonster.itemIdx;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
config.itemIdx = -1;
|
|
|
|
|
|
AddItem(config);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-07-18 22:28:40 +08:00
|
|
|
|
}
|
2025-06-14 13:46:24 +08:00
|
|
|
|
|
2025-07-18 22:28:40 +08:00
|
|
|
|
public void SaveMonsterConfig()
|
|
|
|
|
|
{
|
2025-06-16 00:15:41 +08:00
|
|
|
|
int mapId = MapManager.Instance._curOpenMapId;
|
2025-07-19 01:21:40 +08:00
|
|
|
|
monstersConfig.SaveXML(mapId);
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-18 22:28:40 +08:00
|
|
|
|
public void RemoveAllGrop(MonsterConfig config)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
{
|
2025-07-18 22:28:40 +08:00
|
|
|
|
if (config.itemIdx == -1)
|
2025-06-14 13:46:24 +08:00
|
|
|
|
return;
|
2025-07-18 22:28:40 +08:00
|
|
|
|
foreach (Transform child in svMonsters.content)
|
|
|
|
|
|
{
|
|
|
|
|
|
UIMonsterItem item = child.GetComponentInChildren<UIMonsterItem>();
|
|
|
|
|
|
if (item != null && item.monster.groupId == config.itemIdx)
|
|
|
|
|
|
{
|
|
|
|
|
|
item.DestoryGrop();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-07-19 01:21:40 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void ScrollToTarget(UIMonsterItem target)
|
|
|
|
|
|
{
|
|
|
|
|
|
var index = monstersConfig.monsterConfigs.IndexOf(target.monster);
|
|
|
|
|
|
if (index != -1)
|
|
|
|
|
|
{
|
|
|
|
|
|
svMonsters.verticalNormalizedPosition = 1 - (float)index / (monstersConfig.monsterConfigs.Count - 1);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public void UpdateGroupInfo(UIMonsterItem target)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (target.monster.itemIdx != -1)
|
|
|
|
|
|
{
|
|
|
|
|
|
var allitems = monstersConfig.monsterConfigs.FindAll((item) => item.groupId == target.monster.itemIdx);
|
|
|
|
|
|
foreach (var item in allitems)
|
|
|
|
|
|
{
|
|
|
|
|
|
item.pos = target.monster.pos;
|
|
|
|
|
|
item.radius = target.monster.radius;
|
|
|
|
|
|
}
|
|
|
|
|
|
foreach (Transform child in svMonsters.content)
|
|
|
|
|
|
{
|
|
|
|
|
|
UIMonsterItem item = child.GetComponentInChildren<UIMonsterItem>();
|
|
|
|
|
|
if (item != null && item.monster.groupId == target.monster.itemIdx)
|
|
|
|
|
|
{
|
|
|
|
|
|
item.RefreshItem();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-14 13:46:24 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void RemoveAll()
|
|
|
|
|
|
{
|
|
|
|
|
|
int size = itemParent.childCount;
|
|
|
|
|
|
for (int i=0; i<size; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
DestroyImmediate(itemParent.GetChild(0).gameObject);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|