using UnityEngine; using XRLib.UI; using UnityEngine.UI; using TMPro; using System.Collections.Generic; using Newtonsoft.Json; using System; namespace XED { public class Panel_GenerateDynamicObject : PanelBase { private Button Button_AddDynamicObject; public RectTransform ModelContent; public UI_DynamicObjectItem prf_dynamicObjectItem; public DynamicObjectDatas dynamicObjectDatas; public ModelList modelList; public Action onUISetting; private void TestConnectedData() { var dynamicObjectDataJson = Resources.Load("DynamicObjectData").text; dynamicObjectDatas = JsonConvert.DeserializeObject(dynamicObjectDataJson); var modelListJson = Resources.Load("ModelList").text; modelList = JsonConvert.DeserializeObject(modelListJson); } public override void AfterAwake() { TestConnectedData(); prf_dynamicObjectItem = Resources.Load("Prefabs/UI/PRF_DynamicObjectItem"); Button_AddDynamicObject.onClick.AddListener(OnClickAddDynamicObjectButton); } private void OnClickAddDynamicObjectButton() { var item = Instantiate(prf_dynamicObjectItem, ModelContent); item.onUISetting += OnUISetting; item.SetData(dynamicObjectDatas, modelList); } private void OnUISetting(DataList datas, RectTransform rectTransform) { onUISetting?.Invoke(datas, rectTransform); } } }