UI 생성 모달 수정

This commit is contained in:
정영민
2025-05-14 10:45:36 +09:00
parent 297c7b1e53
commit 16b00a0183
10 changed files with 1196 additions and 1558 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -26,13 +26,13 @@ namespace XED
{
gameObject.SetActive(false);
}
public void SetData(List<DynamicObjectData> dynamicObjectDatas, RectTransform targetUI)
public void SetData(DataList dynamicObjectDatas, RectTransform targetUI)
{
OpenModal();
SetPosition(targetUI);
if (dynamicObjectDatas.Count <= 0)
if (dynamicObjectDatas == null)
return;
if(dynamicObjectUISettingItem != null)

View File

@@ -18,7 +18,7 @@ namespace XED
public DynamicObjectDatas dynamicObjectDatas;
public ModelList modelList;
public Action<List<DynamicObjectData>, RectTransform> onUISetting;
public Action<DataList, RectTransform> onUISetting;
private void TestConnectedData()
{
@@ -41,7 +41,7 @@ namespace XED
item.onUISetting += OnUISetting;
item.SetData(dynamicObjectDatas, modelList);
}
private void OnUISetting(List<DynamicObjectData> datas, RectTransform rectTransform)
private void OnUISetting(DataList datas, RectTransform rectTransform)
{
onUISetting?.Invoke(datas, rectTransform);
}

View File

@@ -124,12 +124,6 @@ namespace XED
}
[Serializable]
public class DataList
{
public string name;
public List<DynamicObjectData> datas = new List<DynamicObjectData>();
}
[Serializable]
public class DynamicObjectData
{
public string name;
public List<Datum> datas = new List<Datum>();

View File

@@ -16,12 +16,12 @@ namespace XED
private Button Button_UISetting;
public DynamicObjectDatas dynamicObjectDatas;
public List<DynamicObjectData> selectDynamicObjectData;
public DataList selectDynamicObjectData;
public ModelList modelList;
public string selectedModel;
public Action<List<DynamicObjectData>, RectTransform> onUISetting;
public Action<DataList, RectTransform> onUISetting;
public void SetData(DynamicObjectDatas dynamicObjectDatas, ModelList modelList)
@@ -59,7 +59,7 @@ namespace XED
{
if (index - 1 < 0)
return;
selectDynamicObjectData = dynamicObjectDatas.dataList[index - 1].datas;
selectDynamicObjectData = dynamicObjectDatas.dataList[index - 1];
}
private void SetModelDropdown()
{
@@ -90,7 +90,7 @@ namespace XED
}
private void OnClickUISettingButton()
{
if (selectDynamicObjectData.Count > 0 && selectedModel != string.Empty)
if (selectDynamicObjectData != null && selectedModel != string.Empty)
{
onUISetting?.Invoke(selectDynamicObjectData, rectTransform);
}

View File

@@ -15,36 +15,22 @@ namespace XED
}
public class UI_DynamicObjectUISettingItem : UIBase
{
private TMP_Dropdown Dropdown_ClassName;
private TextMeshProUGUI Text_ClassName;
private TMP_Dropdown Dropdown_UIDesignStyle;
private RectTransform DataContent;
private UI_DynamicDataStyleItem prf_DynamicDataStyleItem;
private List<UI_DynamicDataStyleItem> dynamicDataStyleItems = new List<UI_DynamicDataStyleItem>();
public List<DynamicObjectData> dynamicObjectDatas = new List<DynamicObjectData>();
public List<DataList> dynamicObjectDatas = new List<DataList>();
public void SetData(List<DynamicObjectData> dynamicObjectDatas, UI_DynamicDataStyleItem dynamicDataStyleItem)
public void SetData(DataList dynamicObjectDatas, UI_DynamicDataStyleItem dynamicDataStyleItem)
{
Text_ClassName.SetText(dynamicObjectDatas.name);
prf_DynamicDataStyleItem = dynamicDataStyleItem;
SetClassNameDropdown(dynamicObjectDatas);
SetUIDesignStyleDropdown();
}
private void SetClassNameDropdown(List<DynamicObjectData> dynamicObjectDatas)
{
this.dynamicObjectDatas.Clear();
Dropdown_ClassName.ClearOptions();
List<string> options = new List<string>();
foreach(var dynamicObjectData in dynamicObjectDatas)
{
this.dynamicObjectDatas.Add(dynamicObjectData);
options.Add(dynamicObjectData.name);
}
Dropdown_ClassName.AddOptions(options);
Dropdown_ClassName.onValueChanged.AddListener(OnClassNameValueChanged);
SetDataItems(dynamicObjectDatas.datas);
}
private void SetUIDesignStyleDropdown()
{
@@ -60,7 +46,7 @@ namespace XED
}
Dropdown_UIDesignStyle.AddOptions(options);
}
private void OnClassNameValueChanged(int index)
private void SetDataItems(List<Datum> datas)
{
foreach(var item in dynamicDataStyleItems)
{
@@ -68,10 +54,10 @@ namespace XED
}
dynamicDataStyleItems.Clear();
foreach(var dynamicObjectData in dynamicObjectDatas[index].datas)
foreach(var data in datas)
{
var item = Instantiate(prf_DynamicDataStyleItem, DataContent);
item.SetData(dynamicObjectData);
item.SetData(data);
dynamicDataStyleItems.Add(item);
}
}

View File

@@ -4,38 +4,16 @@
"name": "XR/AGV",
"datas": [
{
"name": "AGV_1",
"datas": [
{
"dataName": "Position",
"dataValue": "30,25.5,15.3"
},
{
"dataName": "Rotation",
"dataValue": "0,90,15.5"
},
{
"dataName": "Size",
"dataValue": "15.5,15.5,15.5"
}
]
"dataName": "Position",
"dataValue": "30,25.5,15.3"
},
{
"name": "AGV_2",
"datas": [
{
"dataName": "Position",
"dataValue": "20,15.5,5.3"
},
{
"dataName": "Rotation",
"dataValue": "15,90.5,10"
},
{
"dataName": "Size",
"dataValue": "25.5,25.5,25.5"
}
]
"dataName": "Rotation",
"dataValue": "0,90,15.5"
},
{
"dataName": "Size",
"dataValue": "15.5,15.5,15.5"
}
]
},
@@ -43,38 +21,16 @@
"name": "XR/AMR",
"datas": [
{
"name": "AMR_1",
"datas": [
{
"dataName": "Position",
"dataValue": "30,25.5,15.3"
},
{
"dataName": "Rotation",
"dataValue": "0,90,15.5"
},
{
"dataName": "Size",
"dataValue": "15.5,15.5,15.5"
}
]
"dataName": "Position",
"dataValue": "30,25.5,15.3"
},
{
"name": "AMR_2",
"datas": [
{
"dataName": "Position",
"dataValue": "20,15.5,5.3"
},
{
"dataName": "Rotation",
"dataValue": "15,90.5,10"
},
{
"dataName": "Size",
"dataValue": "25.5,25.5,25.5"
}
]
"dataName": "Rotation",
"dataValue": "0,90,15.5"
},
{
"dataName": "Size",
"dataValue": "15.5,15.5,15.5"
}
]
}

View File

@@ -1119,7 +1119,6 @@ GameObject:
m_Component:
- component: {fileID: 7695543042185152432}
- component: {fileID: 3082891046146953927}
- component: {fileID: 2046894230770041359}
- component: {fileID: 5942416795418202228}
m_Layer: 5
m_Name: PRF_DynamicDataStyleItem
@@ -1135,7 +1134,7 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7687916352557854940}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -1157,36 +1156,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7687916352557854940}
m_CullTransparentMesh: 1
--- !u!114 &2046894230770041359
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7687916352557854940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &5942416795418202228
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@@ -1,5 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &506343459166217786
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1464811401440262273}
- component: {fileID: 6762923284554336082}
- component: {fileID: 7423566761425518386}
m_Layer: 5
m_Name: Image_Screen
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1464811401440262273
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 506343459166217786}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4797096952606597064}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6762923284554336082
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 506343459166217786}
m_CullTransparentMesh: 1
--- !u!114 &7423566761425518386
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 506343459166217786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1363362308314298395
GameObject:
m_ObjectHideFlags: 0
@@ -540,6 +615,43 @@ MonoBehaviour:
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &2043377190181470238
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4797096952606597064}
m_Layer: 5
m_Name: Select_Modal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4797096952606597064
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2043377190181470238}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4770554967955704211}
- {fileID: 1464811401440262273}
m_Father: {fileID: 3465987023583971893}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 150, y: 0}
m_SizeDelta: {x: 240, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2057449954897271949
GameObject:
m_ObjectHideFlags: 0
@@ -1180,7 +1292,6 @@ GameObject:
m_Component:
- component: {fileID: 3465987023583971893}
- component: {fileID: 1439498858088282302}
- component: {fileID: 6290669095417535816}
- component: {fileID: 4458463203523547364}
m_Layer: 5
m_Name: PRF_DynamicObjectItem
@@ -1203,7 +1314,7 @@ RectTransform:
m_Children:
- {fileID: 8292478661790310174}
- {fileID: 400540138546233399}
- {fileID: 4770554967955704211}
- {fileID: 4797096952606597064}
- {fileID: 6923619510272891019}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1220,36 +1331,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4491986740325003107}
m_CullTransparentMesh: 1
--- !u!114 &6290669095417535816
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4491986740325003107}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4458463203523547364
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1264,9 +1345,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
dynamicObjectDatas:
dataList: []
selectDynamicObjectData: []
selectDynamicObjectData:
name:
datas: []
modelList:
model: []
modelList: []
selectedModel:
--- !u!1 &4517549923364801068
GameObject:
@@ -1830,13 +1913,12 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5864879965260999456}
- {fileID: 6631930357449951342}
- {fileID: 8925288375298958386}
m_Father: {fileID: 3465987023583971893}
m_Father: {fileID: 4797096952606597064}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 470, y: -20}
m_AnchoredPosition: {x: 120, y: -20}
m_SizeDelta: {x: 240, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1868007140973030865
@@ -2084,81 +2166,6 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_AlphaFadeSpeed: 0.15
--- !u!1 &6476786487309120032
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6631930357449951342}
- component: {fileID: 149320378225316167}
- component: {fileID: 5984014004833858431}
m_Layer: 5
m_Name: Arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6631930357449951342
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6476786487309120032}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4770554967955704211}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -15, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &149320378225316167
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6476786487309120032}
m_CullTransparentMesh: 1
--- !u!114 &5984014004833858431
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6476786487309120032}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6965617612273189777
GameObject:
m_ObjectHideFlags: 0