VR Development Framework
v 1.0.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
override void AVR.UI.Link.AVRUI_Link_Dropdown.setup ( )
inlinevirtual

Method is run when the user selects a field in the inspector.

Implements AVR.UI.Link.AVRUI_Link.

Definition at line 19 of file AVRUI_Link_Dropdown.cs.

19  {
20  init();
21 
22  if(!target) return;
23 
24  System.Type field_type = null;
25  if(memberType==MemberType.FIELD) field_type = target.GetType().GetField(field).FieldType;
26  else field_type = target.GetType().GetProperty(field).PropertyType;
27 
28  object current_value = target.GetType().GetField(field).GetValue(target);
29  string current_name = System.Enum.GetName(field_type, current_value);
30 
31  string[] names = System.Enum.GetNames(field_type);
32 
33  input.options.Clear();
34  for (int i = 0; i < names.Length; i++)
35  {
36  input.options.Add(new Dropdown.OptionData(names[i]));
37  if (names[i] == current_name) input.value = i;
38  }
39 
40  updateOutput();
41 
42  // Make sure we have the adequate persisten listeners by (possibly) removing and re-adding
43  #if UNITY_EDITOR
44  UnityEditor.Events.UnityEventTools.RemovePersistentListener(input.onValueChanged, updateValueListener);
45  UnityEditor.Events.UnityEventTools.AddPersistentListener(input.onValueChanged, updateValueListener);
46  #endif
47 
48  }