Compare commits

..

1 Commits

Author SHA1 Message Date
geondo55
f4aae5ecb8 인증 모달 2025-05-08 15:38:46 +09:00
48 changed files with 2967 additions and 36124 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 07b2c65fe41bd8e43a7bcbd12ddeda0d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 83dffcb445724e44eab4e5f3a2fec973
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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);
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: f170dee81887b63429a6f12f6a68123f

View File

@@ -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;
}
}
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 6531d3243f1b04943b5395aa2558066b

View File

@@ -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);
}
}
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: f421057c874e14f4aae3877101e22b47

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: ce9c9e8dfd0d6774db8b84fbcc818a4e

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: b312c88a0bcbbd04c959de79c2c4cd71

View File

@@ -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;
}
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 8548106673f95f241a7b7ddec36c1514

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 9ce839268adb26243b9f7af4461e6ef5

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: cebef597a42cdd349b3bc10747c15368

View File

@@ -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();

View File

@@ -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;
}
}
}

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 972a710d67574c74f8adf612eeb0cbe8

View File

@@ -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);

View File

@@ -1741,4 +1741,4 @@ MonoBehaviour:
onValueChanged:
m_PersistentCalls:
m_Calls: []
m_IsOn: 0
m_IsOn: 1

View File

@@ -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

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 92cbd34864323164ab25ea3096e48087
guid: b0a8a51f236c8764e8d3b9239b291e85
PrefabImporter:
externalObjects: {}
userData:

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: e63d552f614dd174fb02a560f08c1c4d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -295,7 +295,7 @@ MonoBehaviour:
onValueChanged:
m_PersistentCalls:
m_Calls: []
m_IsOn: 0
m_IsOn: 1
--- !u!1 &2033322865793111777
GameObject:
m_ObjectHideFlags: 0

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: f19c6e8f1a53bfc4e9bbd587ce1016c8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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"
}
]
}

View File

@@ -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"
}
]
}
]
}

View File

@@ -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" ]
}
}
}

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 00e67a8340900444bb6ee8f6156d70cf
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: