72 lines
2.3 KiB
C#
72 lines
2.3 KiB
C#
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;
|
|
}
|
|
|
|
|
|
}
|
|
}
|