Compare commits
1 Commits
dev/jym/25
...
pgd/202505
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4aae5ecb8 |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07b2c65fe41bd8e43a7bcbd12ddeda0d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83dffcb445724e44eab4e5f3a2fec973
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,53 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class ConnectDataManager : MonoBehaviour
|
||||
{
|
||||
private Dictionary<string, SaveConnectedData> saveData = new Dictionary<string, SaveConnectedData>();
|
||||
public Action<string, SaveConnectedData> onConnectData;
|
||||
public Action<SaveConnectedData> onLoadData;
|
||||
|
||||
private Dictionary<string, SaveConnectAlarmData> saveAlarmData = new Dictionary<string, SaveConnectAlarmData>();
|
||||
public Action<string, SaveConnectAlarmData> onConnectAlarm;
|
||||
public Action<SaveConnectAlarmData> onLoadAlarm;
|
||||
|
||||
public void SaveData(string className, SaveConnectedData savedConnetedData)
|
||||
{
|
||||
if (saveData.ContainsKey(className))
|
||||
{
|
||||
saveData.Remove(className);
|
||||
}
|
||||
saveData.Add(className, savedConnetedData);
|
||||
onConnectData?.Invoke(className, savedConnetedData);
|
||||
}
|
||||
public void LoadData(string className)
|
||||
{
|
||||
onLoadData?.Invoke(saveData[className]);
|
||||
}
|
||||
public void RemoveData(string className)
|
||||
{
|
||||
saveData.Remove(className);
|
||||
}
|
||||
|
||||
public void SaveAlarmData(string alarmName, SaveConnectAlarmData saveConnectAlarmData)
|
||||
{
|
||||
if (saveAlarmData.ContainsKey(alarmName))
|
||||
{
|
||||
saveAlarmData.Remove(alarmName);
|
||||
}
|
||||
saveAlarmData.Add(alarmName, saveConnectAlarmData);
|
||||
onConnectAlarm?.Invoke(alarmName, saveConnectAlarmData);
|
||||
}
|
||||
public void LoadAlarmData(string alarmName)
|
||||
{
|
||||
onLoadAlarm?.Invoke(saveAlarmData[alarmName]);
|
||||
}
|
||||
public void RemoveAlarmData(string alarmName)
|
||||
{
|
||||
saveAlarmData.Remove(alarmName);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f170dee81887b63429a6f12f6a68123f
|
||||
@@ -1,174 +0,0 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class Panel_AlarmConnectModal : PanelBase
|
||||
{
|
||||
public Data dataStorage;
|
||||
public EventData eventData;
|
||||
|
||||
private RectTransform StorageDataContent;
|
||||
private TMP_Dropdown Dropdown_DataStorage;
|
||||
private Button Button_Save;
|
||||
private Button Button_Cancel;
|
||||
|
||||
private List<DataClass> dataList = new List<DataClass>();
|
||||
|
||||
private List<UI_AlarmDataItem> alarmDatas = new List<UI_AlarmDataItem>();
|
||||
|
||||
private UI_AlarmDataItem prf_AlarmDataItem;
|
||||
private UI_ComparisonSettingItem prf_ComparisonSettingItem;
|
||||
private UI_EventParameterItem prf_EventParameterItem;
|
||||
|
||||
public SaveConnectAlarmData saveConnectAlarmData;
|
||||
public SaveConnectAlarmData loadData = null;
|
||||
|
||||
public Action<string, SaveConnectAlarmData> onSaveConnectAlarmData;
|
||||
|
||||
private void TestDataConnected()
|
||||
{
|
||||
var dataStorageJson = Resources.Load<TextAsset>("Test1").text;
|
||||
dataStorage = JsonConvert.DeserializeObject<Data>(dataStorageJson);
|
||||
|
||||
var evnetJson = Resources.Load<TextAsset>("Test2").text;
|
||||
eventData = JsonConvert.DeserializeObject<EventData>(evnetJson);
|
||||
}
|
||||
public override void AfterAwake()
|
||||
{
|
||||
TestDataConnected();
|
||||
|
||||
prf_AlarmDataItem = Resources.Load<UI_AlarmDataItem>("Prefabs/UI/PRF_AlarmDataItem");
|
||||
prf_ComparisonSettingItem = Resources.Load<UI_ComparisonSettingItem>("Prefabs/UI/PRF_ComparisonSettingItem");
|
||||
prf_EventParameterItem = Resources.Load<UI_EventParameterItem>("Prefabs/UI/PRF_EventParameterItem");
|
||||
|
||||
Button_Save.onClick.AddListener(Save);
|
||||
Button_Cancel.onClick.AddListener(CloseModal);
|
||||
|
||||
SetStorageDataDropdown();
|
||||
}
|
||||
|
||||
private void SetStorageDataDropdown()
|
||||
{
|
||||
Dropdown_DataStorage.ClearOptions();
|
||||
dataList.Clear();
|
||||
|
||||
List<string> displayNames = new List<string>();
|
||||
|
||||
var data = dataStorage.dataList;
|
||||
|
||||
for (int i = 0; i < data.Count; i++)
|
||||
{
|
||||
dataList.Add(data[i]);
|
||||
displayNames.Add(data[i].name);
|
||||
}
|
||||
Dropdown_DataStorage.AddOptions(displayNames);
|
||||
Dropdown_DataStorage.onValueChanged.AddListener(OnValueChangedDataStorageDropDown);
|
||||
}
|
||||
private void OnValueChangedDataStorageDropDown(int index)
|
||||
{
|
||||
loadData = new SaveConnectAlarmData();
|
||||
AddStorageDataItem(index);
|
||||
}
|
||||
private void AddStorageDataItem(int index)
|
||||
{
|
||||
foreach(var alarmData in alarmDatas)
|
||||
{
|
||||
Destroy(alarmData.gameObject);
|
||||
}
|
||||
alarmDatas.Clear();
|
||||
|
||||
if (loadData.alarmDataName == null || loadData.alarmDataName == string.Empty)
|
||||
{
|
||||
foreach (var data in dataList[index].fields)
|
||||
{
|
||||
var item = Instantiate(prf_AlarmDataItem, StorageDataContent);
|
||||
item.onUpdateLayout += UpdateLayout;
|
||||
item.SetItem(data, prf_ComparisonSettingItem, prf_EventParameterItem, eventData);
|
||||
alarmDatas.Add(item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var data in loadData.alarmFields)
|
||||
{
|
||||
var item = Instantiate(prf_AlarmDataItem, StorageDataContent);
|
||||
item.onUpdateLayout += UpdateLayout;
|
||||
item.SetItem(data, prf_ComparisonSettingItem, prf_EventParameterItem, eventData);
|
||||
alarmDatas.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenModal()
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
}
|
||||
private void CloseModal()
|
||||
{
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
private void Save()
|
||||
{
|
||||
var saveConnectAlarmData = GetAlarmData();
|
||||
onSaveConnectAlarmData?.Invoke(saveConnectAlarmData.alarmDataName, saveConnectAlarmData);
|
||||
|
||||
Initialize();
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
private void Initialize()
|
||||
{
|
||||
Dropdown_DataStorage.ClearOptions();
|
||||
|
||||
foreach (var alarmData in alarmDatas)
|
||||
{
|
||||
Destroy(alarmData.gameObject);
|
||||
}
|
||||
alarmDatas.Clear();
|
||||
}
|
||||
private void UpdateLayout()
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(StorageDataContent);
|
||||
}
|
||||
private SaveConnectAlarmData GetAlarmData()
|
||||
{
|
||||
var saveConnectAlarmData = new SaveConnectAlarmData();
|
||||
saveConnectAlarmData.alarmDataName = Dropdown_DataStorage.options[Dropdown_DataStorage.value].text;
|
||||
|
||||
foreach (var item in alarmDatas)
|
||||
{
|
||||
var alarmField = item.GetData();
|
||||
|
||||
if (alarmField != null)
|
||||
{
|
||||
saveConnectAlarmData.alarmFields.Add(alarmField);
|
||||
}
|
||||
}
|
||||
return saveConnectAlarmData;
|
||||
}
|
||||
public void LoadData(SaveConnectAlarmData savedData)
|
||||
{
|
||||
OpenModal();
|
||||
|
||||
loadData = savedData;
|
||||
|
||||
SetStorageDataDropdown();
|
||||
// dropdown¿¡¼ ¾Ë¸ÂÀº dataStorage index ã±â
|
||||
for (int i = 0; i < dataList.Count; i++)
|
||||
{
|
||||
if(savedData.alarmDataName == dataList[i].name)
|
||||
{
|
||||
Dropdown_DataStorage.SetValueWithoutNotify(i);
|
||||
AddStorageDataItem(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6531d3243f1b04943b5395aa2558066b
|
||||
@@ -1,7 +1,6 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
@@ -12,11 +11,14 @@ namespace XED
|
||||
{
|
||||
public class Panel_DataConnectModal : PanelBase
|
||||
{
|
||||
public Data api;
|
||||
public Data dataStorage;
|
||||
public APIData api;
|
||||
public DataStorageData dataStorage;
|
||||
|
||||
private List<Datum> connectedData = new List<Datum>();
|
||||
private List<Datum> addedData = new List<Datum>();
|
||||
|
||||
private List<DataClass> apiDatas = new List<DataClass>();
|
||||
private List<DataClass> dataStorageDatas = new List<DataClass>();
|
||||
private List<Datum> apiDatas = new List<Datum>();
|
||||
private List<DataList> dataStorageDatas = new List<DataList>();
|
||||
private bool isAPI;
|
||||
|
||||
public Toggle Toggle_Api;
|
||||
@@ -32,8 +34,9 @@ namespace XED
|
||||
private Button Button_loadAPIData;
|
||||
private Button Button_AddStorageData;
|
||||
|
||||
private DataClass loadAPIData;
|
||||
private List<DataList> loadAPIData = new List<DataList>();
|
||||
private List<UI_LoadAPIDataItem> currentAPIDataItems = new List<UI_LoadAPIDataItem>();
|
||||
private UI_DataSettingItem currentAPISettingItem;
|
||||
|
||||
private RectTransform RectTransform_DataStorage;
|
||||
private RectTransform DataStorageContent;
|
||||
@@ -41,6 +44,8 @@ namespace XED
|
||||
private Button Button_AddAPIData;
|
||||
private Toggle Toggle_limitStorageSetting;
|
||||
|
||||
private UI_DataSettingItem currentStorageSettingItem;
|
||||
|
||||
private UI_LoadAPIDataItem prf_loadAPIDataItem;
|
||||
private UI_DataSettingItem prf_DataSettingItem;
|
||||
private UI_DataTypeSelectedItem prf_DataTypeSelectedItem;
|
||||
@@ -49,22 +54,14 @@ namespace XED
|
||||
private UI_AddOtherDataTypeItem prf_AddOtherDataTypeItem;
|
||||
|
||||
private RectTransform currentContent;
|
||||
private RectTransform currentButtonArea;
|
||||
public UI_DataSettingItem currentDataSettingItem;
|
||||
public List<UI_AddOtherDataItem> currentAddOtherDataItems = new List<UI_AddOtherDataItem>();
|
||||
|
||||
private string currentDataListOptionName;
|
||||
private DataClass currentClass;
|
||||
|
||||
public Action<string, SaveConnectedData> onSaveConnectedData;
|
||||
|
||||
private void TestDataConnected()
|
||||
{
|
||||
var apiJson = Resources.Load<TextAsset>("Test").text;
|
||||
api = JsonConvert.DeserializeObject<Data>(apiJson);
|
||||
api = JsonConvert.DeserializeObject<APIData>(apiJson);
|
||||
|
||||
var dataStorageJson = Resources.Load<TextAsset>("Test1").text;
|
||||
dataStorage = JsonConvert.DeserializeObject<Data>(dataStorageJson);
|
||||
dataStorage = JsonConvert.DeserializeObject<DataStorageData>(dataStorageJson);
|
||||
}
|
||||
public override void AfterAwake()
|
||||
{
|
||||
@@ -82,8 +79,8 @@ namespace XED
|
||||
Toggle_limitStorageSetting.onValueChanged.AddListener(OnLimitStorageSettingToggleValueChanged);
|
||||
|
||||
Button_loadAPIData.onClick.AddListener(LoadAPIData);
|
||||
Button_AddStorageData.onClick.AddListener(() => AddOtherDataItem(null));
|
||||
Button_AddAPIData.onClick.AddListener(() => AddOtherDataItem(null));
|
||||
Button_AddStorageData.onClick.AddListener(AddOtherDataItem);
|
||||
Button_AddAPIData.onClick.AddListener(AddOtherDataItem);
|
||||
Button_Cancel.onClick.AddListener(CloseModal);
|
||||
Button_Save.onClick.AddListener(Save);
|
||||
|
||||
@@ -94,13 +91,18 @@ namespace XED
|
||||
{
|
||||
if (isOn)
|
||||
{
|
||||
connectedData.Clear();
|
||||
addedData.Clear();
|
||||
|
||||
RectTransform_APIData.gameObject.SetActive(true);
|
||||
ChangePanel(APIContent, AddStorageDataButtonArea);
|
||||
currentContent = APIContent;
|
||||
|
||||
connectedData.AddRange(api.apiData);
|
||||
addedData.AddRange(dataStorage.dataStorageData);
|
||||
|
||||
isAPI = true;
|
||||
PopulateDataListDropdown(api.dataList);
|
||||
PopulateDataListDropdown(api.apiData);
|
||||
Toggle_Storage.isOn = false;
|
||||
Toggle_limitStorageSetting.isOn = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,35 +113,30 @@ namespace XED
|
||||
{
|
||||
if (isOn)
|
||||
{
|
||||
connectedData.Clear();
|
||||
addedData.Clear();
|
||||
|
||||
RectTransform_DataStorage.gameObject.SetActive(true);
|
||||
ChangePanel(DataStorageContent, AddAPIDataButtonArea);
|
||||
currentContent = DataStorageContent;
|
||||
|
||||
connectedData.AddRange(dataStorage.dataStorageData);
|
||||
addedData.AddRange(api.apiData);
|
||||
|
||||
isAPI = false;
|
||||
PopulateDataListDropdown(dataStorage.dataList);
|
||||
PopulateDataListDropdown(dataStorage.dataStorageData);
|
||||
Toggle_Api.isOn = false;
|
||||
Toggle_limitStorageSetting.isOn = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
RectTransform_DataStorage.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
private void ChangePanel(RectTransform dataContent, RectTransform buttonArea)
|
||||
{
|
||||
currentContent = dataContent;
|
||||
currentButtonArea = buttonArea;
|
||||
|
||||
currentDataSettingItem = currentContent.GetComponentInChildren<UI_DataSettingItem>();
|
||||
currentAddOtherDataItems.Clear();
|
||||
var currentAddOtherDataItem = currentContent.GetComponentsInChildren<UI_AddOtherDataItem>().ToList();
|
||||
currentAddOtherDataItems.AddRange(currentAddOtherDataItem);
|
||||
}
|
||||
private void OnLimitStorageSettingToggleValueChanged(bool isOn)
|
||||
{
|
||||
var isActive = isOn;
|
||||
DataStorageContent.gameObject.SetActive(isActive);
|
||||
}
|
||||
private void PopulateDataListDropdown(List<DataClass> data)
|
||||
private void PopulateDataListDropdown(List<Datum> data)
|
||||
{
|
||||
Dropdown_DataList.ClearOptions();
|
||||
List<string> displayNames = new List<string>();
|
||||
@@ -155,34 +152,27 @@ namespace XED
|
||||
}
|
||||
|
||||
Dropdown_DataList.AddOptions(displayNames);
|
||||
Dropdown_DataList.onValueChanged.RemoveAllListeners();
|
||||
Dropdown_DataList.onValueChanged.AddListener(OnValueChangedAPIDropDown);
|
||||
|
||||
var notCheckIndex = currentDataListOptionName != null ? displayNames.IndexOf(currentDataListOptionName) : 0;
|
||||
var index = notCheckIndex >= 0 ? notCheckIndex : 0;
|
||||
|
||||
Dropdown_DataList.SetValueWithoutNotify(index);
|
||||
SetLoadApiData(index);
|
||||
Dropdown_DataList.SetValueWithoutNotify(0);
|
||||
SetLoadApiData(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
dataStorageDatas.Clear();
|
||||
|
||||
foreach (var storageData in data)
|
||||
for (int i = 0; i < data.Count; i++)
|
||||
{
|
||||
dataStorageDatas.Add(storageData);
|
||||
displayNames.Add(storageData.name);
|
||||
for (int j = 0; j < data[i].dataList.Count; j++)
|
||||
{
|
||||
dataStorageDatas.Add(data[i].dataList[j]);
|
||||
displayNames.Add(data[i].dataList[j].name);
|
||||
}
|
||||
}
|
||||
|
||||
Dropdown_DataList.AddOptions(displayNames);
|
||||
Dropdown_DataList.onValueChanged.RemoveAllListeners();
|
||||
Dropdown_DataList.onValueChanged.AddListener(OnValueChangedDataStorageDropDown);
|
||||
|
||||
var notCheckIndex = currentDataListOptionName != null ? displayNames.IndexOf(currentDataListOptionName) : 0;
|
||||
var index = notCheckIndex >= 0 ? notCheckIndex : 0;
|
||||
|
||||
Dropdown_DataList.SetValueWithoutNotify(index);
|
||||
OnValueChangedDataStorageDropDown(index);
|
||||
AddDataSettingItem(DataStorageContent, AddAPIDataButtonArea, ref currentStorageSettingItem, dataStorageDatas[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,165 +182,68 @@ namespace XED
|
||||
}
|
||||
private void SetLoadApiData(int index)
|
||||
{
|
||||
loadAPIData.Clear();
|
||||
var apiData = apiDatas[index];
|
||||
loadAPIData = apiData;
|
||||
loadAPIData.AddRange(apiData.dataList);
|
||||
}
|
||||
|
||||
void LoadAPIData()
|
||||
{
|
||||
foreach (var dataItem in currentAPIDataItems)
|
||||
Destroy(dataItem.gameObject);
|
||||
foreach (var item in currentAPIDataItems)
|
||||
Destroy(item);
|
||||
|
||||
currentAPIDataItems.Clear();
|
||||
|
||||
var item = Instantiate(prf_loadAPIDataItem, APIDataListContent);
|
||||
item.SetData(loadAPIData);
|
||||
item.onClickItem += OnClickAPIDataItem;
|
||||
currentAPIDataItems.Add(item);
|
||||
foreach (var data in loadAPIData)
|
||||
{
|
||||
var item = Instantiate(prf_loadAPIDataItem, APIDataListContent);
|
||||
item.SetData(data);
|
||||
item.onClickItem += OnClickAPIDataItem;
|
||||
currentAPIDataItems.Add(item);
|
||||
}
|
||||
}
|
||||
private void OnClickAPIDataItem(DataClass data)
|
||||
private void OnClickAPIDataItem(DataList data)
|
||||
{
|
||||
AddDataSettingItem(data);
|
||||
AddDataSettingItem(APIContent, AddStorageDataButtonArea, ref currentAPISettingItem, data);
|
||||
}
|
||||
private void OnValueChangedDataStorageDropDown(int index)
|
||||
{
|
||||
AddDataSettingItem(dataStorageDatas[index]);
|
||||
AddDataSettingItem(DataStorageContent, AddAPIDataButtonArea, ref currentStorageSettingItem, dataStorageDatas[index]);
|
||||
}
|
||||
private void UpdateLayout()
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(currentContent);
|
||||
}
|
||||
private void AddDataSettingItem(DataClass data)
|
||||
private void AddDataSettingItem(RectTransform content, RectTransform buttonArea, ref UI_DataSettingItem preSettingItem, DataList data)
|
||||
{
|
||||
if (currentDataSettingItem != null)
|
||||
if (preSettingItem != null)
|
||||
{
|
||||
Destroy(currentDataSettingItem.gameObject);
|
||||
currentDataSettingItem = null;
|
||||
Destroy(preSettingItem.gameObject);
|
||||
preSettingItem = null;
|
||||
}
|
||||
|
||||
var item = Instantiate(prf_DataSettingItem, currentContent);
|
||||
var index = currentButtonArea.transform.GetSiblingIndex();
|
||||
var item = Instantiate(prf_DataSettingItem, content);
|
||||
var index = buttonArea.transform.GetSiblingIndex();
|
||||
item.transform.SetSiblingIndex(index);
|
||||
item.SetData(data, prf_DataTypeSelectedItem, prf_MatchingTypeDataItem);
|
||||
item.onUpdateLayout += UpdateLayout;
|
||||
currentDataSettingItem = item;
|
||||
preSettingItem = item;
|
||||
}
|
||||
private void AddOtherDataItem(DataClass data)
|
||||
private void AddOtherDataItem()
|
||||
{
|
||||
var item = Instantiate(prf_AddOtherDataItem, currentContent);
|
||||
item.SetItem(addedData, prf_AddOtherDataTypeItem);
|
||||
item.onUpdateLayout += UpdateLayout;
|
||||
item.onDestory += RemoveOtherDataItem;
|
||||
item.SetItem(dataStorage.dataList, data, prf_AddOtherDataTypeItem);
|
||||
item.transform.SetAsLastSibling();
|
||||
currentAddOtherDataItems.Add(item);
|
||||
}
|
||||
private void RemoveOtherDataItem(UI_AddOtherDataItem item)
|
||||
{
|
||||
currentAddOtherDataItems.Remove(item);
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
void Save()
|
||||
{
|
||||
var saveData = GetData();
|
||||
onSaveConnectedData?.Invoke(saveData.dataSource, saveData);
|
||||
Initialize();
|
||||
gameObject.SetActive(false);
|
||||
Debug.Log("ÀúÀå ¼öÇàµÊ");
|
||||
}
|
||||
|
||||
public void OpenModal()
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
}
|
||||
void CloseModal()
|
||||
{
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
private void Initialize()
|
||||
{
|
||||
Toggle_Api.SetIsOnWithoutNotify(false);
|
||||
Toggle_Storage.SetIsOnWithoutNotify(false);
|
||||
|
||||
Toggle_limitStorageSetting.SetIsOnWithoutNotify(false);
|
||||
|
||||
currentContent = null;
|
||||
currentButtonArea = null;
|
||||
|
||||
loadAPIData = null;
|
||||
|
||||
foreach (var item in currentAPIDataItems)
|
||||
{
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
currentAPIDataItems.Clear();
|
||||
|
||||
if (currentDataSettingItem != null)
|
||||
{
|
||||
Destroy(currentDataSettingItem.gameObject);
|
||||
currentDataSettingItem = null;
|
||||
}
|
||||
|
||||
foreach (var item in currentAddOtherDataItems)
|
||||
{
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
currentAddOtherDataItems.Clear();
|
||||
|
||||
RectTransform_APIData.gameObject.SetActive(false);
|
||||
RectTransform_DataStorage.gameObject.SetActive(false);
|
||||
}
|
||||
private SaveConnectedData GetData()
|
||||
{
|
||||
SaveConnectedData saveData = new SaveConnectedData();
|
||||
saveData.connectDataClass.Clear();
|
||||
saveData.otherDataClasses.Clear();
|
||||
|
||||
saveData.isAPI = isAPI;
|
||||
saveData.dataListOptionName = Dropdown_DataList.options[Dropdown_DataList.value].text;
|
||||
|
||||
saveData.isLimitStorageSetting = Toggle_limitStorageSetting.isOn;
|
||||
|
||||
var dataclass = currentDataSettingItem.GetData();
|
||||
saveData.dataSource = dataclass.name;
|
||||
saveData.connectDataClass.Add(dataclass);
|
||||
|
||||
foreach (var item in currentAddOtherDataItems)
|
||||
{
|
||||
var otehrDataClass = item.GetData();
|
||||
saveData.otherDataClasses.Add(otehrDataClass);
|
||||
}
|
||||
|
||||
return saveData;
|
||||
}
|
||||
public void SetLoadSaveData(SaveConnectedData saveData)
|
||||
{
|
||||
OpenModal();
|
||||
|
||||
currentClass = saveData.connectDataClass[0];
|
||||
currentDataListOptionName = saveData.dataListOptionName;
|
||||
|
||||
if (saveData.isAPI)
|
||||
{
|
||||
Toggle_Api.isOn = true;
|
||||
LoadAPIData();
|
||||
}
|
||||
else
|
||||
{
|
||||
Toggle_Storage.isOn = true;
|
||||
Toggle_limitStorageSetting.isOn = !saveData.isLimitStorageSetting;
|
||||
Toggle_limitStorageSetting.isOn = saveData.isLimitStorageSetting;
|
||||
}
|
||||
AddDataSettingItem(currentClass);
|
||||
|
||||
foreach (var item in currentAddOtherDataItems)
|
||||
{
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
currentAddOtherDataItems.Clear();
|
||||
|
||||
foreach (var otherClass in saveData.otherDataClasses)
|
||||
{
|
||||
AddOtherDataItem(otherClass);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,359 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using XRLib.UI;
|
||||
using XED.Manage;
|
||||
using System.Linq;
|
||||
using XED.Core;
|
||||
using XED.Command;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_DynamicObjectInfo : PanelBase
|
||||
{
|
||||
public enum InputFieldType
|
||||
{
|
||||
none,
|
||||
posX, posY, posZ,
|
||||
rotX, rotY, rotZ,
|
||||
scaX, scaY, scaZ,
|
||||
}
|
||||
public class SelectedInput
|
||||
{
|
||||
public InputFieldType type = InputFieldType.none;
|
||||
public float value = 0.0f;
|
||||
public SelectedInput(InputFieldType type, float value)
|
||||
{
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
||||
public TextMeshProUGUI Text_Name;
|
||||
|
||||
public TMP_InputField InputField_PositionX;
|
||||
public TMP_InputField InputField_PositionY;
|
||||
public TMP_InputField InputField_PositionZ;
|
||||
public TMP_InputField InputField_RotationX;
|
||||
public TMP_InputField InputField_RotationY;
|
||||
public TMP_InputField InputField_RotationZ;
|
||||
public TMP_InputField InputField_ScaleX;
|
||||
public TMP_InputField InputField_ScaleY;
|
||||
public TMP_InputField InputField_ScaleZ;
|
||||
|
||||
public TextMeshProUGUI Text_DataName;
|
||||
public Button Button_ConnectData;
|
||||
public Button Button_RetouchData;
|
||||
public Button Button_DeleteData;
|
||||
|
||||
public TextMeshProUGUI Text_AlarmName;
|
||||
public Button Button_ConnectAlarm;
|
||||
public Button Button_RetouchAlarm;
|
||||
public Button Button_DeleteAlarm;
|
||||
|
||||
public event System.Action<List<GameObject>> onTransformChanged;
|
||||
private List<GameObject> selectedObjects = new List<GameObject>();
|
||||
private SelectedInput lastSelectedInputField = new SelectedInput(InputFieldType.none ,0.0f);
|
||||
|
||||
public Action onConnectedData;
|
||||
public Action<string> onRetouchData;
|
||||
public Action<string> onDeleteData;
|
||||
|
||||
public Action onConnectedAlarm;
|
||||
public Action<string> onRetouchAlarm;
|
||||
public Action<string> onDeleteAlarm;
|
||||
|
||||
public SaveConnectedData connectedData;
|
||||
public SaveConnectAlarmData connectedAlarmData;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
InputField_PositionX.onValueChanged.AddListener(OnPosXChanged);
|
||||
InputField_PositionY.onValueChanged.AddListener(OnPosYChanged);
|
||||
InputField_PositionZ.onValueChanged.AddListener(OnPosZChanged);
|
||||
InputField_RotationX.onValueChanged.AddListener(OnRotXChanged);
|
||||
InputField_RotationY.onValueChanged.AddListener(OnRotYChanged);
|
||||
InputField_RotationZ.onValueChanged.AddListener(OnRotZChanged);
|
||||
InputField_ScaleX.onValueChanged.AddListener(OnScaXChanged);
|
||||
InputField_ScaleY.onValueChanged.AddListener(OnScaYChanged);
|
||||
InputField_ScaleZ.onValueChanged.AddListener(OnScaZChanged);
|
||||
InputField_PositionX.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_PositionY.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_PositionZ.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_RotationX.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_RotationY.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_RotationZ.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_ScaleX.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_ScaleY.onDeselect.AddListener(OnDeselectInputField);
|
||||
InputField_ScaleZ.onDeselect.AddListener(OnDeselectInputField);
|
||||
ResetObjectInfo();
|
||||
Text_DataName.SetText("없음");
|
||||
Button_ConnectData.onClick.AddListener(OnClickConnectDataButton);
|
||||
Button_RetouchData.onClick.AddListener(OnClickRetouchDataButton);
|
||||
Button_DeleteData.onClick.AddListener(OnClickDeleteDataButton);
|
||||
Text_AlarmName.SetText("없음");
|
||||
Button_ConnectAlarm.onClick.AddListener(OnClickConnectAlarmButton);
|
||||
Button_RetouchAlarm.onClick.AddListener(OnClickRetouchAlarmButton);
|
||||
Button_DeleteAlarm.onClick.AddListener(OnClickDeleteAlarmButton);
|
||||
}
|
||||
|
||||
void OnPosXChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.posX, input);
|
||||
}
|
||||
void OnPosYChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.posY, input);
|
||||
}
|
||||
void OnPosZChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.posZ, input);
|
||||
}
|
||||
void OnRotXChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.rotX, input);
|
||||
}
|
||||
void OnRotYChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.rotY, input);
|
||||
}
|
||||
void OnRotZChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.rotZ, input);
|
||||
}
|
||||
void OnScaXChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.scaX, input);
|
||||
}
|
||||
void OnScaYChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.scaY, input);
|
||||
}
|
||||
void OnScaZChanged(string input)
|
||||
{
|
||||
OnTransformChanged(InputFieldType.scaZ, input);
|
||||
}
|
||||
void OnTransformChanged(InputFieldType type, string input)
|
||||
{
|
||||
if (selectedObjects.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
float value = 0.0f;
|
||||
if (!float.TryParse(input, out value))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (lastSelectedInputField.type != type)
|
||||
{
|
||||
AddUndoRedo(type, value);
|
||||
}
|
||||
lastSelectedInputField.value = value;
|
||||
foreach (GameObject gb in selectedObjects)
|
||||
{
|
||||
ChangeTransformValue(gb.transform, type, value);
|
||||
}
|
||||
onTransformChanged?.Invoke(selectedObjects);
|
||||
}
|
||||
public void OnTransformChanged(List<GameObject> objectTransforms)
|
||||
{
|
||||
selectedObjects = objectTransforms;
|
||||
if (objectTransforms.Count == 0)
|
||||
{
|
||||
ResetObjectInfo();
|
||||
return;
|
||||
}
|
||||
bool equalPosX = selectedObjects.All(gb => Mathf.Approximately(gb.transform.position.x, selectedObjects[0].transform.position.x));
|
||||
bool equalPosY = selectedObjects.All(gb => Mathf.Approximately(gb.transform.position.y, selectedObjects[0].transform.position.y));
|
||||
bool equalPosZ = selectedObjects.All(gb => Mathf.Approximately(gb.transform.position.z, selectedObjects[0].transform.position.z));
|
||||
bool equalRotX = selectedObjects.All(gb => Mathf.Approximately(gb.transform.eulerAngles.x, selectedObjects[0].transform.eulerAngles.x));
|
||||
bool equalRotY = selectedObjects.All(gb => Mathf.Approximately(gb.transform.eulerAngles.y, selectedObjects[0].transform.eulerAngles.y));
|
||||
bool equalRotZ = selectedObjects.All(gb => Mathf.Approximately(gb.transform.eulerAngles.z, selectedObjects[0].transform.eulerAngles.z));
|
||||
bool equalScaX = selectedObjects.All(gb => Mathf.Approximately(gb.transform.localScale.x, selectedObjects[0].transform.localScale.x));
|
||||
bool equalScaY = selectedObjects.All(gb => Mathf.Approximately(gb.transform.localScale.y, selectedObjects[0].transform.localScale.y));
|
||||
bool equalScaZ = selectedObjects.All(gb => Mathf.Approximately(gb.transform.localScale.z, selectedObjects[0].transform.localScale.z));
|
||||
|
||||
Transform t = selectedObjects[0].transform;
|
||||
if (equalPosX) InputField_PositionX.SetTextWithoutNotify(t.position.x.ToString("F2"));
|
||||
if (equalPosY) InputField_PositionY.SetTextWithoutNotify(t.position.y.ToString("F2"));
|
||||
if (equalPosZ) InputField_PositionZ.SetTextWithoutNotify(t.position.z.ToString("F2"));
|
||||
if (equalRotX) InputField_RotationX.SetTextWithoutNotify(t.eulerAngles.x.ToString("F2"));
|
||||
if (equalRotY) InputField_RotationY.SetTextWithoutNotify(t.eulerAngles.y.ToString("F2"));
|
||||
if (equalRotZ) InputField_RotationZ.SetTextWithoutNotify(t.eulerAngles.z.ToString("F2"));
|
||||
if (equalScaX) InputField_ScaleX.SetTextWithoutNotify(t.localScale.x.ToString("F2"));
|
||||
if (equalScaY) InputField_ScaleY.SetTextWithoutNotify(t.localScale.y.ToString("F2"));
|
||||
if (equalScaZ) InputField_ScaleZ.SetTextWithoutNotify(t.localScale.z.ToString("F2"));
|
||||
}
|
||||
void AddUndoRedo(InputFieldType type, float value)
|
||||
{
|
||||
lastSelectedInputField = new SelectedInput(type, value);
|
||||
SelectedInput saveSelectedInput = lastSelectedInputField;
|
||||
List<GameObject> transformsChanged = new List<GameObject>(selectedObjects);
|
||||
List<float> origValues;
|
||||
switch (type)
|
||||
{
|
||||
case InputFieldType.posX: origValues = transformsChanged.Select(t => t.transform.position.x).ToList(); break;
|
||||
case InputFieldType.posY: origValues = transformsChanged.Select(t => t.transform.position.y).ToList(); break;
|
||||
case InputFieldType.posZ: origValues = transformsChanged.Select(t => t.transform.position.z).ToList(); break;
|
||||
case InputFieldType.rotX: origValues = transformsChanged.Select(t => t.transform.eulerAngles.x).ToList(); break;
|
||||
case InputFieldType.rotY: origValues = transformsChanged.Select(t => t.transform.eulerAngles.y).ToList(); break;
|
||||
case InputFieldType.rotZ: origValues = transformsChanged.Select(t => t.transform.eulerAngles.z).ToList(); break;
|
||||
case InputFieldType.scaX: origValues = transformsChanged.Select(t => t.transform.localScale.x).ToList(); break;
|
||||
case InputFieldType.scaY: origValues = transformsChanged.Select(t => t.transform.localScale.y).ToList(); break;
|
||||
case InputFieldType.scaZ: origValues = transformsChanged.Select(t => t.transform.localScale.z).ToList(); break;
|
||||
default: origValues = new List<float>(transformsChanged.Count); break;
|
||||
}
|
||||
|
||||
ActionCommand command = new ActionCommand(
|
||||
() =>
|
||||
{
|
||||
for (int i = 0; i< transformsChanged.Count; i++)
|
||||
{
|
||||
ChangeTransformValue(transformsChanged[i].transform, type, saveSelectedInput.value);
|
||||
}
|
||||
onTransformChanged?.Invoke(transformsChanged);
|
||||
},
|
||||
() =>
|
||||
{
|
||||
for (int i = 0; i < transformsChanged.Count; i++)
|
||||
{
|
||||
ChangeTransformValue(transformsChanged[i].transform, type, origValues[i]);
|
||||
}
|
||||
onTransformChanged?.Invoke(transformsChanged);
|
||||
});
|
||||
CommandInvoker.instance.Invoke(command);
|
||||
}
|
||||
void ChangeTransformValue(Transform t, InputFieldType type, float v)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case InputFieldType.posX: t.position = new Vector3(v, t.position.y, t.position.z); break;
|
||||
case InputFieldType.posY: t.position = new Vector3(t.position.x, v, t.position.z); break;
|
||||
case InputFieldType.posZ: t.position = new Vector3(t.position.x, t.position.y, v); break;
|
||||
case InputFieldType.rotX: t.eulerAngles = new Vector3(v, t.eulerAngles.y, t.eulerAngles.z); break;
|
||||
case InputFieldType.rotY: t.eulerAngles = new Vector3(t.eulerAngles.x, v, t.eulerAngles.z); break;
|
||||
case InputFieldType.rotZ: t.eulerAngles = new Vector3(t.eulerAngles.x, t.eulerAngles.y, v); break;
|
||||
case InputFieldType.scaX: t.localScale = new Vector3(v, t.localScale.y, t.localScale.z); break;
|
||||
case InputFieldType.scaY: t.localScale = new Vector3(t.localScale.x, v, t.localScale.z); break;
|
||||
case InputFieldType.scaZ: t.localScale = new Vector3(t.localScale.x, t.localScale.y, v); break;
|
||||
}
|
||||
}
|
||||
void OnDeselectInputField(string lastInput)
|
||||
{
|
||||
Debug.Log("Deselect Input Field");
|
||||
if (lastSelectedInputField.type != InputFieldType.none)
|
||||
{
|
||||
lastSelectedInputField = new SelectedInput(InputFieldType.none, 0.0f);
|
||||
}
|
||||
}
|
||||
public void SetObjectInfo(string name, List<GameObject> selectedObjects)
|
||||
{
|
||||
ResetObjectInfo();
|
||||
if (name == null || selectedObjects == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (selectedObjects.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string append = "";
|
||||
if (!name.Equals("-"))
|
||||
{
|
||||
append = string.Format(" ({0})", selectedObjects.Count);
|
||||
}
|
||||
Text_Name.text = name + append;
|
||||
OnTransformChanged(selectedObjects);
|
||||
if (lastSelectedInputField.type != InputFieldType.none)
|
||||
{
|
||||
lastSelectedInputField = new SelectedInput(InputFieldType.none, 0.0f);
|
||||
}
|
||||
}
|
||||
public void ResetObjectInfo()
|
||||
{
|
||||
Text_Name.text = "-";
|
||||
InputField_PositionX.SetTextWithoutNotify("-");
|
||||
InputField_PositionY.SetTextWithoutNotify("-");
|
||||
InputField_PositionZ.SetTextWithoutNotify("-");
|
||||
InputField_RotationX.SetTextWithoutNotify("-");
|
||||
InputField_RotationY.SetTextWithoutNotify("-");
|
||||
InputField_RotationZ.SetTextWithoutNotify("-");
|
||||
InputField_ScaleX.SetTextWithoutNotify("-");
|
||||
InputField_ScaleY.SetTextWithoutNotify("-");
|
||||
InputField_ScaleZ.SetTextWithoutNotify("-");
|
||||
if (lastSelectedInputField.type != InputFieldType.none)
|
||||
{
|
||||
lastSelectedInputField = new SelectedInput(InputFieldType.none, 0.0f);
|
||||
}
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
if (Text_DataName.text == "없음")
|
||||
{
|
||||
Button_ConnectData.gameObject.SetActive(true);
|
||||
Button_RetouchData.gameObject.SetActive(false);
|
||||
Button_DeleteData.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
Button_ConnectData.gameObject.SetActive(false);
|
||||
Button_RetouchData.gameObject.SetActive(true);
|
||||
Button_DeleteData.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
if (Text_AlarmName.text == "없음")
|
||||
{
|
||||
Button_ConnectAlarm.gameObject.SetActive(true);
|
||||
Button_RetouchAlarm.gameObject.SetActive(false);
|
||||
Button_DeleteAlarm.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
Button_ConnectAlarm.gameObject.SetActive(false);
|
||||
Button_RetouchAlarm.gameObject.SetActive(true);
|
||||
Button_DeleteAlarm.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
private void OnClickConnectDataButton()
|
||||
{
|
||||
onConnectedData?.Invoke();
|
||||
}
|
||||
private void OnClickRetouchDataButton()
|
||||
{
|
||||
onRetouchData?.Invoke(Text_DataName.text);
|
||||
}
|
||||
private void OnClickDeleteDataButton()
|
||||
{
|
||||
onDeleteData?.Invoke(Text_DataName.text);
|
||||
Text_DataName.SetText("없음");
|
||||
}
|
||||
|
||||
public void OnConnectData(string saveDataName, SaveConnectedData saveData)
|
||||
{
|
||||
Text_DataName.SetText(saveDataName);
|
||||
connectedData = saveData;
|
||||
}
|
||||
|
||||
private void OnClickConnectAlarmButton()
|
||||
{
|
||||
onConnectedAlarm?.Invoke();
|
||||
}
|
||||
private void OnClickRetouchAlarmButton()
|
||||
{
|
||||
onRetouchAlarm?.Invoke(Text_AlarmName.text);
|
||||
}
|
||||
private void OnClickDeleteAlarmButton()
|
||||
{
|
||||
onDeleteAlarm?.Invoke(Text_AlarmName.text);
|
||||
Text_AlarmName.SetText("없음");
|
||||
}
|
||||
|
||||
public void OnConnectAlarm(string saveAlarmName, SaveConnectAlarmData saveData)
|
||||
{
|
||||
Text_AlarmName.SetText(saveAlarmName);
|
||||
connectedAlarmData = saveData;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f421057c874e14f4aae3877101e22b47
|
||||
@@ -1,38 +0,0 @@
|
||||
using UnityEngine;
|
||||
using XED.UI;
|
||||
using XRLib;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class StudioJYMCanvas_Popup : CanvasBase, ISingle
|
||||
{
|
||||
public Panel_DataConnectModal panel_dataconnectmodal;
|
||||
public Panel_AlarmConnectModal panel_alarmconnectmodal;
|
||||
public Panel_DynamicObjectInfo panel_dynamicobjectinfo;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
canvasHandler = new StudioJYMPopupCanvasHandler(this);
|
||||
}
|
||||
public override void AfterAwake()
|
||||
{
|
||||
var dataManager = FindAnyObjectByType<ConnectDataManager>();
|
||||
|
||||
panel_dataconnectmodal.onSaveConnectedData += dataManager.SaveData;
|
||||
panel_alarmconnectmodal.onSaveConnectAlarmData += dataManager.SaveAlarmData;
|
||||
|
||||
panel_dynamicobjectinfo.onRetouchData += dataManager.LoadData;
|
||||
panel_dynamicobjectinfo.onDeleteData += dataManager.RemoveData;
|
||||
|
||||
panel_dynamicobjectinfo.onRetouchAlarm += dataManager.LoadAlarmData;
|
||||
panel_dynamicobjectinfo.onDeleteAlarm += dataManager.RemoveAlarmData;
|
||||
|
||||
dataManager.onConnectData += panel_dynamicobjectinfo.OnConnectData;
|
||||
dataManager.onLoadData += panel_dataconnectmodal.SetLoadSaveData;
|
||||
|
||||
dataManager.onConnectAlarm += panel_dynamicobjectinfo.OnConnectAlarm;
|
||||
dataManager.onLoadAlarm += panel_alarmconnectmodal.LoadData;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ce9c9e8dfd0d6774db8b84fbcc818a4e
|
||||
@@ -1,14 +0,0 @@
|
||||
using UnityEngine;
|
||||
using XED.Manage;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class StudioJYMPopupCanvasHandler : CanvasEventHandler
|
||||
{
|
||||
public StudioJYMPopupCanvasHandler(StudioJYMCanvas_Popup canvas_Popup)
|
||||
{
|
||||
canvas_Popup.panel_dynamicobjectinfo.onConnectedData += canvas_Popup.panel_dataconnectmodal.OpenModal;
|
||||
canvas_Popup.panel_dynamicobjectinfo.onConnectedAlarm += canvas_Popup.panel_alarmconnectmodal.OpenModal;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b312c88a0bcbbd04c959de79c2c4cd71
|
||||
@@ -4,83 +4,37 @@ using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
#region LoadData
|
||||
[Serializable]
|
||||
public class Data
|
||||
public class Datum
|
||||
{
|
||||
public string name;
|
||||
public List<DataClass> dataList;
|
||||
public List<DataList> dataList;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class DataClass
|
||||
public class DataList
|
||||
{
|
||||
public string name;
|
||||
public List<FieldData> fields;
|
||||
public List<Field> fields;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class FieldData
|
||||
public class Field
|
||||
{
|
||||
public string name;
|
||||
public string type;
|
||||
public string value;
|
||||
public List<MatchingData> matchingValue = new List<MatchingData>();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region EvnetData
|
||||
[Serializable]
|
||||
public class EventData
|
||||
{
|
||||
public Dictionary<string, Dictionary<string, List<string>>> eventTargets;
|
||||
}
|
||||
#endregion
|
||||
|
||||
[Serializable]
|
||||
public class MatchingData
|
||||
{
|
||||
public string matchingValue;
|
||||
public string matchingType;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SaveConnectedData
|
||||
public class APIData
|
||||
{
|
||||
public bool isAPI;
|
||||
public string dataListOptionName;
|
||||
|
||||
public bool isLimitStorageSetting;
|
||||
|
||||
public string dataSource;
|
||||
public List<DataClass> connectDataClass = new List<DataClass>();
|
||||
public List<DataClass> otherDataClasses = new List<DataClass>();
|
||||
public List<Datum> apiData;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SaveConnectAlarmData
|
||||
public class DataStorageData
|
||||
{
|
||||
public string alarmDataName;
|
||||
public List<AlarmField> alarmFields = new List<AlarmField>();
|
||||
}
|
||||
[Serializable]
|
||||
public class AlarmField
|
||||
{
|
||||
public string fieldName;
|
||||
public List<ComparisonCondition> comparisons = new List<ComparisonCondition>();
|
||||
}
|
||||
[Serializable]
|
||||
public class ComparisonCondition
|
||||
{
|
||||
public string comparisonOperator;
|
||||
public string value;
|
||||
public string eventTarget;
|
||||
public List<EventParameter> parameters = new List<EventParameter>();
|
||||
}
|
||||
[Serializable]
|
||||
public class EventParameter
|
||||
{
|
||||
public string eventType;
|
||||
public string parameter;
|
||||
public List<Datum> dataStorageData;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,20 +14,16 @@ namespace XED
|
||||
private Button Button_Delete;
|
||||
|
||||
private List<string> options = new List<string>();
|
||||
public List<DataClass> datas = new List<DataClass>();
|
||||
private DataClass currentDataClass;
|
||||
public List<DataList> datas = new List<DataList>();
|
||||
|
||||
private UI_AddOtherDataTypeItem addOtherDataTypeItem;
|
||||
public List<UI_AddOtherDataTypeItem> addOtherDataTypeItems = new List<UI_AddOtherDataTypeItem>();
|
||||
private RectTransform originRectTransform;
|
||||
|
||||
public Action onUpdateLayout;
|
||||
public Action<UI_AddOtherDataItem> onDestory;
|
||||
|
||||
public void SetItem(List<DataClass> dataList, DataClass dataClass, UI_AddOtherDataTypeItem addOtherDataTypeItem)
|
||||
public void SetItem(List<Datum> datas, UI_AddOtherDataTypeItem addOtherDataTypeItem)
|
||||
{
|
||||
currentDataClass = dataClass;
|
||||
|
||||
this.addOtherDataTypeItem = addOtherDataTypeItem;
|
||||
originRectTransform = addOtherDataTypeItem.rectTransform;
|
||||
Button_Delete.onClick.AddListener(OnClickDeleteButton);
|
||||
@@ -37,23 +33,24 @@ namespace XED
|
||||
|
||||
Dropdown_ClassName.ClearOptions();
|
||||
|
||||
for (int i = 0; i < dataList.Count; i++)
|
||||
for (int i = 0; i < datas.Count; i++)
|
||||
{
|
||||
this.datas.Add(dataList[i]);
|
||||
options.Add(dataList[i].name);
|
||||
for(int j = 0; j < datas[i].dataList.Count; j++)
|
||||
{
|
||||
this.datas.Add(datas[i].dataList[j]);
|
||||
options.Add(datas[i].dataList[j].name);
|
||||
}
|
||||
}
|
||||
Dropdown_ClassName.AddOptions(options);
|
||||
Dropdown_ClassName.onValueChanged.AddListener(OnValueChangedClassName);
|
||||
|
||||
var index = dataClass != null ? options.IndexOf(dataClass.name) : 0;
|
||||
|
||||
Dropdown_ClassName.SetValueWithoutNotify(index);
|
||||
GenerateDatTypeItem(index);
|
||||
Dropdown_ClassName.SetValueWithoutNotify(0);
|
||||
GenerateDatTypeItem(0);
|
||||
}
|
||||
|
||||
private void OnClickDeleteButton()
|
||||
{
|
||||
onDestory?.Invoke(this);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
private void OnValueChangedClassName(int index)
|
||||
{
|
||||
@@ -68,12 +65,7 @@ namespace XED
|
||||
|
||||
addOtherDataTypeItems.Clear();
|
||||
|
||||
if (currentDataClass == null)
|
||||
{
|
||||
currentDataClass = datas[index];
|
||||
}
|
||||
|
||||
foreach (var field in currentDataClass.fields)
|
||||
foreach (var field in datas[index].fields)
|
||||
{
|
||||
var item = Instantiate(addOtherDataTypeItem, ClassDataContent);
|
||||
item.SetItem(field);
|
||||
@@ -90,24 +82,5 @@ namespace XED
|
||||
rectTransform.sizeDelta = height;
|
||||
onUpdateLayout?.Invoke();
|
||||
}
|
||||
public DataClass GetData()
|
||||
{
|
||||
var dataClass = new DataClass();
|
||||
dataClass.name = Dropdown_ClassName.options[Dropdown_ClassName.value].text;
|
||||
dataClass.fields = new List<FieldData>();
|
||||
|
||||
foreach (var item in addOtherDataTypeItems)
|
||||
{
|
||||
var field = item.GetFieldData();
|
||||
|
||||
Debug.Log(field);
|
||||
if (field != null)
|
||||
{
|
||||
dataClass.fields.Add(field);
|
||||
}
|
||||
}
|
||||
|
||||
return dataClass;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,10 @@ namespace XED
|
||||
private TMP_Dropdown Dropdown_Type;
|
||||
|
||||
private Dictionary<int, string> options = new Dictionary<int, string>();
|
||||
private bool isUse;
|
||||
|
||||
public void SetItem(FieldData field)
|
||||
public void SetItem(Field field)
|
||||
{
|
||||
DataName.SetText(field.name);
|
||||
Toggle_Use.onValueChanged.AddListener(OnUseToggleValueChanged);
|
||||
Toggle_Use.isOn = true;
|
||||
|
||||
Dropdown_Type.ClearOptions();
|
||||
var types = Enum.GetNames(typeof(StorageDataType));
|
||||
@@ -48,26 +45,9 @@ namespace XED
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUseToggleValueChanged(bool isOn)
|
||||
{
|
||||
isUse = isOn;
|
||||
}
|
||||
|
||||
private void OnTypeChanged(int value)
|
||||
{
|
||||
|
||||
}
|
||||
public FieldData GetFieldData()
|
||||
{
|
||||
if (!isUse)
|
||||
return null;
|
||||
|
||||
FieldData field = new FieldData();
|
||||
field.name = DataName.text;
|
||||
field.type = Dropdown_Type.options[Dropdown_Type.value].text;
|
||||
|
||||
return field;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
using TMPro;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class UI_AlarmDataItem : UIBase
|
||||
{
|
||||
private Toggle Toggle_Select;
|
||||
private TextMeshProUGUI DataName;
|
||||
private Button Button_AddComparison;
|
||||
private RectTransform ComparisonContent;
|
||||
|
||||
private EventData eventData;
|
||||
|
||||
private UI_ComparisonSettingItem comparisonSettingItem;
|
||||
private UI_EventParameterItem eventParameterItem;
|
||||
private List<UI_ComparisonSettingItem> comparisonSettingItems = new List<UI_ComparisonSettingItem>();
|
||||
|
||||
public Action onUpdateLayout;
|
||||
private AlarmField loadData;
|
||||
private bool isUse;
|
||||
|
||||
public void SetItem(FieldData data, UI_ComparisonSettingItem comparisonSettingItem, UI_EventParameterItem eventParameterItem, EventData eventData)
|
||||
{
|
||||
this.comparisonSettingItem = comparisonSettingItem;
|
||||
this.eventParameterItem = eventParameterItem;
|
||||
this.eventData = eventData;
|
||||
|
||||
DataName.SetText(data.name);
|
||||
Toggle_Select.onValueChanged.AddListener(OnSelectToggleValueChanged);
|
||||
Toggle_Select.isOn = true;
|
||||
|
||||
Button_AddComparison.onClick.AddListener(OnClickAddComparsionButton);
|
||||
comparisonSettingItems.Clear();
|
||||
}
|
||||
public void SetItem(AlarmField data, UI_ComparisonSettingItem comparisonSettingItem, UI_EventParameterItem eventParameterItem, EventData eventData)
|
||||
{
|
||||
loadData = data;
|
||||
this.comparisonSettingItem = comparisonSettingItem;
|
||||
this.eventParameterItem = eventParameterItem;
|
||||
this.eventData = eventData;
|
||||
|
||||
DataName.SetText(data.fieldName);
|
||||
Toggle_Select.onValueChanged.AddListener(OnSelectToggleValueChanged);
|
||||
Toggle_Select.isOn = true;
|
||||
|
||||
Button_AddComparison.onClick.AddListener(OnClickAddComparsionButton);
|
||||
comparisonSettingItems.Clear();
|
||||
|
||||
if (loadData.comparisons.Count > 0)
|
||||
{
|
||||
foreach(var comparison in loadData.comparisons)
|
||||
{
|
||||
var item = Instantiate(comparisonSettingItem, ComparisonContent);
|
||||
item.onUpdateLayoutAddParameter += UpdateLayoutAddParameterItem;
|
||||
item.onUpdateLayoutRemoveParameter += UpdateLayoutRemoveParameterItme;
|
||||
item.SetItem(comparison, eventParameterItem, eventData);
|
||||
comparisonSettingItems.Add(item);
|
||||
|
||||
if (comparisonSettingItems.Count > 1)
|
||||
{
|
||||
UpdateLayoutAddComparisonSettingItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void OnSelectToggleValueChanged(bool isOn)
|
||||
{
|
||||
isUse = isOn;
|
||||
Button_AddComparison.gameObject.SetActive(isOn);
|
||||
}
|
||||
private void OnClickAddComparsionButton()
|
||||
{
|
||||
var item = Instantiate(comparisonSettingItem, ComparisonContent);
|
||||
item.onUpdateLayoutAddParameter += UpdateLayoutAddParameterItem;
|
||||
item.onUpdateLayoutRemoveParameter += UpdateLayoutRemoveParameterItme;
|
||||
item.SetItem(eventParameterItem, eventData);
|
||||
comparisonSettingItems.Add(item);
|
||||
|
||||
if (comparisonSettingItems.Count > 1)
|
||||
{
|
||||
UpdateLayoutAddComparisonSettingItem();
|
||||
}
|
||||
}
|
||||
private void UpdateLayoutAddParameterItem()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y += eventParameterItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(ComparisonContent);
|
||||
onUpdateLayout?.Invoke();
|
||||
}
|
||||
private void UpdateLayoutRemoveParameterItme()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y -= eventParameterItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(ComparisonContent);
|
||||
onUpdateLayout?.Invoke();
|
||||
|
||||
}
|
||||
private void UpdateLayoutAddComparisonSettingItem()
|
||||
{
|
||||
var itemSizeDelta = rectTransform.sizeDelta;
|
||||
itemSizeDelta.y += comparisonSettingItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = itemSizeDelta;
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(ComparisonContent);
|
||||
onUpdateLayout?.Invoke();
|
||||
}
|
||||
|
||||
public AlarmField GetData()
|
||||
{
|
||||
if (!isUse)
|
||||
return null;
|
||||
|
||||
var alarmField = new AlarmField();
|
||||
alarmField.fieldName = DataName.text;
|
||||
alarmField.comparisons = new List<ComparisonCondition>();
|
||||
|
||||
foreach (var item in comparisonSettingItems)
|
||||
{
|
||||
var field = item.GetComparisonData();
|
||||
alarmField.comparisons.Add(field);
|
||||
}
|
||||
return alarmField;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8548106673f95f241a7b7ddec36c1514
|
||||
@@ -1,165 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using XRLib.UI;
|
||||
using TMPro;
|
||||
using UnityEngine.UI;
|
||||
using System.Linq;
|
||||
using System;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
|
||||
public class UI_ComparisonSettingItem : UIBase
|
||||
{
|
||||
private TMP_Dropdown Dropdown_Comparison;
|
||||
private TMP_InputField InputField_Value;
|
||||
private Button Button_EventTarget;
|
||||
private TMP_Dropdown Dropdown_EventTarget;
|
||||
private Button Button_AddParameters;
|
||||
private RectTransform EventParametersContent;
|
||||
|
||||
private List<UI_EventParameterItem> eventParameterItems = new List<UI_EventParameterItem>();
|
||||
private UI_EventParameterItem eventParameterItem;
|
||||
|
||||
private List<string> comparisonOptions = new List<string> { ">", "<", ">=", "<=", "==", "!=" };
|
||||
private EventData eventData;
|
||||
private Dictionary<string, List<string>> eventTypes = new Dictionary<string, List<string>>();
|
||||
|
||||
public Action onUpdateLayoutAddParameter;
|
||||
public Action onUpdateLayoutRemoveParameter;
|
||||
|
||||
internal void SetItem(UI_EventParameterItem eventParameterItem, EventData eventData)
|
||||
{
|
||||
this.eventParameterItem = eventParameterItem;
|
||||
this.eventData = eventData;
|
||||
|
||||
SetComparisonDropdown();
|
||||
SetEventTargetDropdown(eventData);
|
||||
Button_EventTarget.onClick.AddListener(OnClickEvnetTargetButton);
|
||||
Button_AddParameters.onClick.AddListener(OnClickAddParametersButton);
|
||||
eventParameterItems.Clear();
|
||||
}
|
||||
public void SetItem(ComparisonCondition loadData, UI_EventParameterItem eventParameterItem , EventData eventData)
|
||||
{
|
||||
this.eventParameterItem = eventParameterItem;
|
||||
this.eventData = eventData;
|
||||
|
||||
SetComparisonDropdown();
|
||||
SetEventTargetDropdown(eventData);
|
||||
Button_EventTarget.onClick.AddListener(OnClickEvnetTargetButton);
|
||||
Button_AddParameters.onClick.AddListener(OnClickAddParametersButton);
|
||||
eventParameterItems.Clear();
|
||||
|
||||
for(int i = 0; i < Dropdown_Comparison.options.Count; i++)
|
||||
{
|
||||
if(Dropdown_Comparison.options[i].text == loadData.comparisonOperator)
|
||||
{
|
||||
Dropdown_Comparison.value = i;
|
||||
}
|
||||
}
|
||||
InputField_Value.text = loadData.value;
|
||||
|
||||
for (int i = 0; i < Dropdown_EventTarget.options.Count; i++)
|
||||
{
|
||||
if (Dropdown_EventTarget.options[i].text == loadData.eventTarget)
|
||||
{
|
||||
Dropdown_EventTarget.value = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (loadData.parameters.Count > 0)
|
||||
{
|
||||
foreach (var parameter in loadData.parameters)
|
||||
{
|
||||
var item = Instantiate(eventParameterItem, EventParametersContent);
|
||||
item.SetItem(parameter, eventTypes);
|
||||
eventParameterItems.Add(item);
|
||||
|
||||
if (eventParameterItems.Count > 1)
|
||||
{
|
||||
UpdateLayoutAddParameter();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void SetComparisonDropdown()
|
||||
{
|
||||
Dropdown_Comparison.ClearOptions();
|
||||
Dropdown_Comparison.AddOptions(comparisonOptions);
|
||||
}
|
||||
private void SetEventTargetDropdown(EventData eventData)
|
||||
{
|
||||
Dropdown_EventTarget.ClearOptions();
|
||||
Dropdown_EventTarget.AddOptions(eventData.eventTargets.Keys.ToList());
|
||||
|
||||
Dropdown_EventTarget.onValueChanged.AddListener(OnEventTargetValueChanged);
|
||||
OnEventTargetValueChanged(0);
|
||||
}
|
||||
private void OnEventTargetValueChanged(int index)
|
||||
{
|
||||
string selectedTarget = Dropdown_EventTarget.options[index].text;
|
||||
if (!eventData.eventTargets.ContainsKey(selectedTarget))
|
||||
return;
|
||||
|
||||
eventTypes = eventData.eventTargets[selectedTarget];
|
||||
|
||||
for(int i = 0; i < eventParameterItems.Count-1; i++)
|
||||
{
|
||||
UpdateLayoutRemoveParameter();
|
||||
}
|
||||
|
||||
foreach (var eventParameterItem in eventParameterItems)
|
||||
{
|
||||
Destroy(eventParameterItem.gameObject);
|
||||
}
|
||||
eventParameterItems.Clear();
|
||||
}
|
||||
|
||||
private void OnClickEvnetTargetButton()
|
||||
{
|
||||
Dropdown_EventTarget.Show();
|
||||
}
|
||||
private void OnClickAddParametersButton()
|
||||
{
|
||||
var item = Instantiate(eventParameterItem, EventParametersContent);
|
||||
item.SetItem(eventTypes);
|
||||
eventParameterItems.Add(item);
|
||||
|
||||
if (eventParameterItems.Count > 1)
|
||||
{
|
||||
UpdateLayoutAddParameter();
|
||||
}
|
||||
}
|
||||
private void UpdateLayoutAddParameter()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y += eventParameterItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
onUpdateLayoutAddParameter?.Invoke();
|
||||
}
|
||||
private void UpdateLayoutRemoveParameter()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y -= eventParameterItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
onUpdateLayoutRemoveParameter?.Invoke();
|
||||
}
|
||||
|
||||
public ComparisonCondition GetComparisonData()
|
||||
{
|
||||
var comparisonCondition = new ComparisonCondition();
|
||||
comparisonCondition.comparisonOperator = Dropdown_Comparison.options[Dropdown_Comparison.value].text;
|
||||
comparisonCondition.value = InputField_Value.text;
|
||||
comparisonCondition.eventTarget = Dropdown_EventTarget.options[Dropdown_EventTarget.value].text;
|
||||
|
||||
foreach (var item in eventParameterItems)
|
||||
{
|
||||
var parameters = item.GetParametersData();
|
||||
comparisonCondition.parameters.Add(parameters);
|
||||
}
|
||||
return comparisonCondition;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ce839268adb26243b9f7af4461e6ef5
|
||||
@@ -14,41 +14,37 @@ namespace XED
|
||||
|
||||
private List<UI_DataTypeSelectedItem> items = new List<UI_DataTypeSelectedItem>();
|
||||
private UI_DataTypeSelectedItem dataTypeSelectedItem;
|
||||
private RectTransform originRectTransform;
|
||||
|
||||
public Action onUpdateLayout;
|
||||
|
||||
public void SetData(DataClass data, UI_DataTypeSelectedItem typeItem, UI_MatchingTypeDataItem matchingItem)
|
||||
public void SetData(DataList data, UI_DataTypeSelectedItem typeItem, UI_MatchingTypeDataItem matchingItem)
|
||||
{
|
||||
items.Clear();
|
||||
|
||||
dataTypeSelectedItem = typeItem;
|
||||
originRectTransform = typeItem.rectTransform;
|
||||
InputField_ClassName.text = data.name;
|
||||
|
||||
foreach (var field in data.fields)
|
||||
{
|
||||
var item = Instantiate(typeItem, ClassDataContent);
|
||||
item.onAddMatchingData += UpdateLayoutAddMatchData;
|
||||
item.onDestroyMatchingData += UpdateLayoutRemoveMatchData;
|
||||
item.SetItem(field, matchingItem);
|
||||
|
||||
item.onAddMatchingData += UpdateLayoutOnMatchData;
|
||||
item.onDestroyMatchingData += UpdateLayoutOnMatchData;
|
||||
items.Add(item);
|
||||
|
||||
UpdateLayoutOnSettingDataAdded();
|
||||
}
|
||||
}
|
||||
private void UpdateLayoutAddMatchData()
|
||||
private void UpdateLayoutOnMatchData()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y += dataTypeSelectedItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
UpdateLayout();
|
||||
onUpdateLayout?.Invoke();
|
||||
}
|
||||
private void UpdateLayoutRemoveMatchData()
|
||||
{
|
||||
var height = rectTransform.sizeDelta;
|
||||
height.y -= dataTypeSelectedItem.rectTransform.rect.height;
|
||||
var height = originRectTransform.sizeDelta;
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
height.y += item.rectTransform.rect.height;
|
||||
}
|
||||
rectTransform.sizeDelta = height;
|
||||
UpdateLayout();
|
||||
onUpdateLayout?.Invoke();
|
||||
@@ -65,22 +61,5 @@ namespace XED
|
||||
{
|
||||
LayoutRebuilder.ForceRebuildLayoutImmediate(ClassDataContent);
|
||||
}
|
||||
public DataClass GetData()
|
||||
{
|
||||
var dataClass = new DataClass();
|
||||
dataClass.name = InputField_ClassName.text;
|
||||
dataClass.fields = new List<FieldData>();
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
var field = item.GetFieldData();
|
||||
|
||||
if (field != null)
|
||||
{
|
||||
dataClass.fields.Add(field);
|
||||
}
|
||||
}
|
||||
return dataClass;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,22 +27,17 @@ namespace XED
|
||||
private RectTransform MatchingItemContent;
|
||||
|
||||
private Dictionary<int, string> options = new Dictionary<int, string>();
|
||||
private FieldData fieldData;
|
||||
private MatchingData matchingData;
|
||||
private Field data;
|
||||
|
||||
private List<UI_MatchingTypeDataItem> matchingTypeDataItems = new List<UI_MatchingTypeDataItem>();
|
||||
private UI_MatchingTypeDataItem matchingTypeDataItem;
|
||||
private bool isUse;
|
||||
|
||||
public Action onAddMatchingData;
|
||||
public Action onDestroyMatchingData;
|
||||
|
||||
public void SetItem(FieldData field, UI_MatchingTypeDataItem matchingTypeDataItem)
|
||||
public void SetItem(Field field, UI_MatchingTypeDataItem matchingTypeDataItem)
|
||||
{
|
||||
matchingTypeDataItems.Clear();
|
||||
|
||||
this.matchingTypeDataItem = matchingTypeDataItem;
|
||||
fieldData = field;
|
||||
data = field;
|
||||
|
||||
DataName.SetText(field.name);
|
||||
DataValue.SetText(field.value);
|
||||
@@ -52,24 +47,8 @@ namespace XED
|
||||
SetDropDownData(field);
|
||||
|
||||
Button_MatchingAddData.gameObject.SetActive(false);
|
||||
Toggle_Use.isOn = true;
|
||||
|
||||
if (fieldData.type == "Matching")
|
||||
{
|
||||
foreach (var matchingValue in fieldData.matchingValue)
|
||||
{
|
||||
matchingData = matchingValue;
|
||||
|
||||
var item = Instantiate(matchingTypeDataItem, MatchingItemContent);
|
||||
item.SetItemData(fieldData, matchingData);
|
||||
item.onDestory += OnDestoryAddDataItem;
|
||||
matchingTypeDataItems.Add(item);
|
||||
|
||||
SetAddItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
private void SetDropDownData(FieldData field)
|
||||
private void SetDropDownData(Field field)
|
||||
{
|
||||
Dropdown_Type.ClearOptions();
|
||||
var types = Enum.GetNames(typeof(DataType));
|
||||
@@ -91,22 +70,22 @@ namespace XED
|
||||
}
|
||||
private void OnUseToggleValueChanged(bool isOn)
|
||||
{
|
||||
isUse = isOn;
|
||||
//토글이 꺼졌을 때, 켜졌을 때 동작 필요
|
||||
}
|
||||
private void OnClickAddDataButton()
|
||||
{
|
||||
var item = Instantiate(matchingTypeDataItem, MatchingItemContent);
|
||||
item.SetItemData(fieldData, matchingData);
|
||||
item.SetItemData(data);
|
||||
item.onDestory += OnDestoryAddDataItem;
|
||||
matchingTypeDataItems.Add(item);
|
||||
|
||||
SetAddItem();
|
||||
onAddMatchingData?.Invoke();
|
||||
}
|
||||
private void OnDestoryAddDataItem(UI_MatchingTypeDataItem item)
|
||||
{
|
||||
matchingTypeDataItems.Clear();
|
||||
Destroy(item.gameObject);
|
||||
SetRemoveItem();
|
||||
onDestroyMatchingData?.Invoke();
|
||||
}
|
||||
private void OnTypeChanged(int value)
|
||||
{
|
||||
@@ -119,7 +98,6 @@ namespace XED
|
||||
height.y += matchingTypeDataItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
onAddMatchingData?.Invoke();
|
||||
}
|
||||
private void SetRemoveItem()
|
||||
{
|
||||
@@ -127,25 +105,6 @@ namespace XED
|
||||
height.y -= matchingTypeDataItem.rectTransform.rect.height;
|
||||
|
||||
rectTransform.sizeDelta = height;
|
||||
onDestroyMatchingData?.Invoke();
|
||||
}
|
||||
public FieldData GetFieldData()
|
||||
{
|
||||
if (!isUse)
|
||||
return null;
|
||||
|
||||
FieldData field = new FieldData();
|
||||
field.name = DataName.text;
|
||||
field.value = DataValue.text;
|
||||
field.type = Dropdown_Type.options[Dropdown_Type.value].text;
|
||||
|
||||
foreach (var item in matchingTypeDataItems)
|
||||
{
|
||||
var matchingValue = item.GetFieldData();
|
||||
field.matchingValue.Add(matchingValue);
|
||||
}
|
||||
|
||||
return field;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
using UnityEngine;
|
||||
using XRLib.UI;
|
||||
using TMPro;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class UI_EventParameterItem : UIBase
|
||||
{
|
||||
private TMP_Dropdown Dropdown_EventType;
|
||||
private TMP_Dropdown Dropdown_Parameters;
|
||||
|
||||
private Dictionary<string, List<string>> eventTypes = new Dictionary<string, List<string>>();
|
||||
|
||||
public void SetItem(Dictionary<string, List<string>> eventTypes)
|
||||
{
|
||||
this.eventTypes = eventTypes;
|
||||
SetEventTypeDropdown(eventTypes.Keys.ToList());
|
||||
}
|
||||
public void SetItem(EventParameter parameter, Dictionary<string, List<string>> eventTypes)
|
||||
{
|
||||
this.eventTypes = eventTypes;
|
||||
SetEventTypeDropdown(eventTypes.Keys.ToList());
|
||||
|
||||
for (int i = 0; i < Dropdown_EventType.options.Count; i++)
|
||||
{
|
||||
if (Dropdown_EventType.options[i].text == parameter.eventType)
|
||||
{
|
||||
Dropdown_EventType.value = i;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < Dropdown_Parameters.options.Count; i++)
|
||||
{
|
||||
if (Dropdown_Parameters.options[i].text == parameter.parameter)
|
||||
{
|
||||
Dropdown_Parameters.value = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void SetEventTypeDropdown(List<string> eventTypes)
|
||||
{
|
||||
Dropdown_EventType.ClearOptions();
|
||||
Dropdown_EventType.AddOptions(eventTypes);
|
||||
|
||||
Dropdown_EventType.onValueChanged.AddListener(OnEventTypeChanged);
|
||||
OnEventTypeChanged(0);
|
||||
}
|
||||
void OnEventTypeChanged(int typeIndex)
|
||||
{
|
||||
string selectedType = Dropdown_EventType.options[typeIndex].text;
|
||||
var parameters = eventTypes[selectedType];
|
||||
|
||||
Dropdown_Parameters.ClearOptions();
|
||||
Dropdown_Parameters.AddOptions(parameters);
|
||||
}
|
||||
|
||||
public EventParameter GetParametersData()
|
||||
{
|
||||
var eventParameter = new EventParameter();
|
||||
eventParameter.eventType = Dropdown_EventType.options[Dropdown_EventType.value].text;
|
||||
eventParameter.parameter = Dropdown_Parameters.options[Dropdown_Parameters.value].text;
|
||||
|
||||
return eventParameter;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cebef597a42cdd349b3bc10747c15368
|
||||
@@ -9,11 +9,11 @@ namespace XED
|
||||
{
|
||||
public class UI_LoadAPIDataItem : UIBase
|
||||
{
|
||||
public DataClass data;
|
||||
public DataList data;
|
||||
private Button button;
|
||||
private TextMeshProUGUI DataName;
|
||||
|
||||
public Action<DataClass> onClickItem;
|
||||
public Action<DataList> onClickItem;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
@@ -21,7 +21,7 @@ namespace XED
|
||||
|
||||
button.onClick.AddListener(OnClickDataItem);
|
||||
}
|
||||
public void SetData(DataClass data)
|
||||
public void SetData(DataList data)
|
||||
{
|
||||
this.data = data;
|
||||
var dataText = GenerateHierarchyText(data);
|
||||
@@ -38,7 +38,7 @@ namespace XED
|
||||
{
|
||||
onClickItem?.Invoke(data);
|
||||
}
|
||||
private string GenerateHierarchyText(DataClass data)
|
||||
private string GenerateHierarchyText(DataList data)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
|
||||
@@ -23,26 +23,12 @@ namespace XED
|
||||
|
||||
private List<string> options = new List<string>();
|
||||
public Action<UI_MatchingTypeDataItem> onDestory;
|
||||
public void SetItemData(FieldData field, MatchingData matchingData)
|
||||
public void SetItemData(Field field)
|
||||
{
|
||||
OriginValue.SetText(field.value);
|
||||
Button_Delete.onClick.AddListener(OnClickDeleteButton);
|
||||
|
||||
SetDropDownData();
|
||||
|
||||
if (matchingData != null)
|
||||
{
|
||||
InputField_Value.text = matchingData.matchingValue;
|
||||
var types = Enum.GetNames(typeof(MatchingDataType));
|
||||
|
||||
for (int i = 0; i < types.Length; i++)
|
||||
{
|
||||
if (types[i] == matchingData.matchingType)
|
||||
{
|
||||
Dropdown_Type.value = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void OnClickDeleteButton()
|
||||
{
|
||||
@@ -64,13 +50,5 @@ namespace XED
|
||||
{
|
||||
|
||||
}
|
||||
public MatchingData GetFieldData()
|
||||
{
|
||||
MatchingData matchingData = new MatchingData();
|
||||
matchingData.matchingValue = InputField_Value.text;
|
||||
matchingData.matchingType = Dropdown_Type.options[Dropdown_Type.value].text;
|
||||
|
||||
return matchingData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,10 +461,26 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1391670571}
|
||||
m_Modifications:
|
||||
- target: {fileID: 33618481716284773, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 33618481716284773, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 253525657185505309, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1153369147874533442, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1153369147874533442, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1239730593560251137, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -485,6 +501,30 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1691782430627992905, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1691782430627992905, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1825228173600331801, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1825228173600331801, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2213964652112507817, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2213964652112507817, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2312695739334003167, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -653,6 +693,70 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4437080161808151079, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4437080161808151079, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4591461869413822655, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4591461869413822655, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4591461869413822655, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4591461869413822655, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4794470558021987755, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4794470558021987755, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5650599152789473505, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5650599152789473505, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5683164843451441641, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5683164843451441641, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5717488056045474029, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5717488056045474029, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5717488056045474029, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5717488056045474029, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5855980027867806708, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -673,10 +777,66 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6282185071082045389, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6282185071082045389, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6671935539452673310, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6671935539452673310, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7028250643155768423, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7028250643155768423, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7028250643155768423, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7028250643155768423, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7210417893612619965, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7210417893612619965, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7451172879358009799, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Canvas_Static
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7733657623681476234, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7733657623681476234, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7895292253619185725, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7895292253619185725, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7944627880090399774, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
@@ -717,6 +877,30 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8129927793086748103, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8129927793086748103, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8360194558917690726, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8360194558917690726, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8877690206430437429, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8877690206430437429, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9162147835510035703, guid: f2aeca4b33a9e7948ab82c4f02cae2f2, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,33 @@
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class UI_AuthenticationItem : UIBase
|
||||
{
|
||||
public TMP_InputField InputField;
|
||||
public TMP_Dropdown Dropdown;
|
||||
public Button Button_Remove;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InputField = transform.Find(nameof(InputField)).GetComponent<TMP_InputField>();
|
||||
Dropdown = transform.Find (nameof(Dropdown)).GetComponent<TMP_Dropdown>();
|
||||
Button_Remove = transform.Find(nameof(Button_Remove)).GetComponent<Button>();
|
||||
Button_Remove.onClick.AddListener(OnClickRemove);
|
||||
|
||||
List<string> options = new List<string> { "String", "Int", "Boolean" };
|
||||
Dropdown.ClearOptions();
|
||||
Dropdown.AddOptions(options);
|
||||
}
|
||||
|
||||
private void OnClickRemove()
|
||||
{
|
||||
print("remove");
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 972a710d67574c74f8adf612eeb0cbe8
|
||||
@@ -1,10 +1,39 @@
|
||||
using Ookii.Dialogs;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_Authentication : PanelBase
|
||||
{
|
||||
private GameObject itemPrefab;
|
||||
private RectTransform Info;
|
||||
|
||||
public Button Button_Add;
|
||||
public Button Button_Save;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
itemPrefab = Resources.Load<GameObject>("Prefabs/UI/PRF_AuthenticationItem");
|
||||
|
||||
Button_Add.onClick.AddListener(AddItem);
|
||||
Button_Save.onClick.AddListener(OnClickSave);
|
||||
|
||||
AddItem();
|
||||
}
|
||||
|
||||
private void AddItem()
|
||||
{
|
||||
GameObject item = Instantiate(itemPrefab, Info);
|
||||
item.transform.SetSiblingIndex(Info.childCount - 2);
|
||||
}
|
||||
|
||||
private void OnClickSave()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Open(bool isOpen)
|
||||
{
|
||||
SetActive(isOpen);
|
||||
|
||||
@@ -1741,4 +1741,4 @@ MonoBehaviour:
|
||||
onValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_IsOn: 0
|
||||
m_IsOn: 1
|
||||
|
||||
@@ -1,763 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &580650275896055364
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7885574299830805302}
|
||||
- component: {fileID: 3512329071412578955}
|
||||
m_Layer: 5
|
||||
m_Name: Toggle_Select
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7885574299830805302
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 580650275896055364}
|
||||
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: 1860536856826159754}
|
||||
m_Father: {fileID: 8330830032428453570}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 20, y: -25}
|
||||
m_SizeDelta: {x: 30, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &3512329071412578955
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 580650275896055364}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 6647817114326598145}
|
||||
toggleTransition: 1
|
||||
graphic: {fileID: 1269924820877808733}
|
||||
m_Group: {fileID: 0}
|
||||
onValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_IsOn: 0
|
||||
--- !u!1 &1821972484055790974
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4805910123159231676}
|
||||
- component: {fileID: 1105825744325459895}
|
||||
- component: {fileID: 58234951300460856}
|
||||
m_Layer: 5
|
||||
m_Name: DataName
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4805910123159231676
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1821972484055790974}
|
||||
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: 8330830032428453570}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 100, y: -25}
|
||||
m_SizeDelta: {x: 120, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1105825744325459895
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1821972484055790974}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &58234951300460856
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1821972484055790974}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: data
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||
m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 20
|
||||
m_fontSizeBase: 20
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &6511882735575238398
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7689405792261404046}
|
||||
- component: {fileID: 4735248028288402880}
|
||||
- component: {fileID: 1269924820877808733}
|
||||
m_Layer: 5
|
||||
m_Name: Checkmark
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7689405792261404046
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6511882735575238398}
|
||||
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: 1860536856826159754}
|
||||
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: 0, y: 0}
|
||||
m_SizeDelta: {x: 30, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4735248028288402880
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6511882735575238398}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1269924820877808733
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6511882735575238398}
|
||||
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: 10901, 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 &7129588682176583959
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8330830032428453570}
|
||||
- component: {fileID: 8542306398605029070}
|
||||
- component: {fileID: 4280132367170485869}
|
||||
m_Layer: 5
|
||||
m_Name: PRF_AlarmDataItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8330830032428453570
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7129588682176583959}
|
||||
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: 7885574299830805302}
|
||||
- {fileID: 4805910123159231676}
|
||||
- {fileID: 6887532054169147474}
|
||||
- {fileID: 9007934292354328552}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 1518, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8542306398605029070
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7129588682176583959}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4280132367170485869
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7129588682176583959}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8548106673f95f241a7b7ddec36c1514, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7231081533701205692
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3284476053162506490}
|
||||
- component: {fileID: 3262731639988721273}
|
||||
- component: {fileID: 4973999785011315393}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3284476053162506490
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7231081533701205692}
|
||||
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: 6887532054169147474}
|
||||
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 &3262731639988721273
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7231081533701205692}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4973999785011315393
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7231081533701205692}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: +
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||
m_sharedMaterial: {fileID: 6975767319296004534, guid: 4f170a218dfffe4489dc7ddd54bc15cf, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4281479730
|
||||
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 24
|
||||
m_fontSizeBase: 24
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &7730347637062935159
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9007934292354328552}
|
||||
- component: {fileID: 1258315587987901983}
|
||||
- component: {fileID: 3194288757223014262}
|
||||
m_Layer: 5
|
||||
m_Name: ComparisonContent
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &9007934292354328552
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7730347637062935159}
|
||||
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: 8330830032428453570}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 638.04, y: -25}
|
||||
m_SizeDelta: {x: 876.0835, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1258315587987901983
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7730347637062935159}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3194288757223014262
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7730347637062935159}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!1 &8908414945336457589
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6887532054169147474}
|
||||
- component: {fileID: 2913010496988415797}
|
||||
- component: {fileID: 1149622448526824162}
|
||||
- component: {fileID: 7408597591433957505}
|
||||
m_Layer: 5
|
||||
m_Name: Button_AddComparison
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6887532054169147474
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8908414945336457589}
|
||||
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: 3284476053162506490}
|
||||
m_Father: {fileID: 8330830032428453570}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 180, y: -25}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2913010496988415797
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8908414945336457589}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1149622448526824162
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8908414945336457589}
|
||||
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: 10905, 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 &7408597591433957505
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8908414945336457589}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 1149622448526824162}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &9198743607145138306
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1860536856826159754}
|
||||
- component: {fileID: 5886912097486708208}
|
||||
- component: {fileID: 6647817114326598145}
|
||||
m_Layer: 5
|
||||
m_Name: Background
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1860536856826159754
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9198743607145138306}
|
||||
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: 7689405792261404046}
|
||||
m_Father: {fileID: 7885574299830805302}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 15, y: -15}
|
||||
m_SizeDelta: {x: 30, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5886912097486708208
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9198743607145138306}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6647817114326598145
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9198743607145138306}
|
||||
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: 10905, 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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 92cbd34864323164ab25ea3096e48087
|
||||
guid: b0a8a51f236c8764e8d3b9239b291e85
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e63d552f614dd174fb02a560f08c1c4d
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -295,7 +295,7 @@ MonoBehaviour:
|
||||
onValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_IsOn: 0
|
||||
m_IsOn: 1
|
||||
--- !u!1 &2033322865793111777
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f19c6e8f1a53bfc4e9bbd587ce1016c8
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,38 +1,45 @@
|
||||
{
|
||||
"dataList": [
|
||||
"apiData": [
|
||||
{
|
||||
"name": "API_1",
|
||||
"fields": [
|
||||
"dataList": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30",
|
||||
"matchingValue": [
|
||||
"name": "User",
|
||||
"fields": [
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30",
|
||||
"matchingValue": [
|
||||
"name": "Product",
|
||||
"fields": [
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5",
|
||||
"matchingValue": [
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -40,37 +47,44 @@
|
||||
},
|
||||
{
|
||||
"name": "API_2",
|
||||
"fields": [
|
||||
"dataList": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30",
|
||||
"matchingValue": [
|
||||
"name": "User",
|
||||
"fields": [
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30",
|
||||
"matchingValue": [
|
||||
"name": "Product",
|
||||
"fields": [
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5",
|
||||
"matchingValue": [
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"matchingValue": "",
|
||||
"matchingType": ""
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,42 +1,92 @@
|
||||
{
|
||||
"dataList": [
|
||||
"dataStorageData": [
|
||||
{
|
||||
"name": "storageData_1",
|
||||
"fields": [
|
||||
"name": "Storage_1",
|
||||
"dataList": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
"name": "storageData_1",
|
||||
"fields": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
"name": "storageData_2",
|
||||
"fields": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "storageData_2",
|
||||
"fields": [
|
||||
"name": "Storage_2",
|
||||
"dataList": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
"name": "User",
|
||||
"fields": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
"name": "Product",
|
||||
"fields": [
|
||||
{
|
||||
"name": "data1",
|
||||
"type": "Int",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data2",
|
||||
"type": "String",
|
||||
"value": "30"
|
||||
},
|
||||
{
|
||||
"name": "data3",
|
||||
"type": "Float",
|
||||
"value": "30.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"eventTargets": {
|
||||
"event Target 0": {
|
||||
"SetActive": [ "true", "false" ],
|
||||
"SetValue": [ "data1", "data2" ]
|
||||
},
|
||||
"event Target 1": {
|
||||
"PlayAnimation": [ "Idle", "Run", "Jump" ],
|
||||
"SetValue": [ "data3" ]
|
||||
},
|
||||
"event Target 2": {
|
||||
"SendMessage": [ "paramA", "paramB" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 00e67a8340900444bb6ee8f6156d70cf
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user