private void RenderDetails() { if (selection == null) { return; } scroll = GUILayout.BeginScrollView(scroll); { treeView.UpdateDisplayName( selection[IdField].intValue, selection[NameField].stringValue ); EditorGUILayout.BeginVertical((GUILayoutOption[])null); { EditorGUILayoutX.PropertyField(selection); if (selection.HasModifiedProperties) { selection.ApplyModifiedProperties(); treeView.SetDataRebuildAndSelect(); } } EditorGUILayout.EndVertical(); } GUILayout.EndScrollView(); }
public void ApplyModifiedProperties_Object() { TestNested target = new TestNested(); target.str = "somevalue"; target.testVec = new TestVector(); ReflectedObject root = new ReflectedObject(target); TestVector testVec = new TestVector(); testVec.vec = new Vector3(-1f, -2f, -3f); root["testVec"].Value = testVec; Assert.AreNotEqual(root["testVec"].Value, target.testVec); root.ApplyModifiedProperties(); Assert.AreEqual(root["testVec"].Value, target.testVec); root["testVec"]["vec"]["x"].Value = 99f; Assert.AreNotEqual(99f, target.testVec.vec.x); root.ApplyModifiedProperties(); Assert.AreEqual(99f, target.testVec.vec.x); }
public void ArrayOfStructs() { Vector3[] target = new Vector3[3]; target[0] = new Vector3(1, 1, 1); target[1] = new Vector3(2, 2, 2); target[2] = new Vector3(3, 3, 3); ReflectedObject root = new ReflectedObject(target); root["0"]["x"].Value = -1f; Assert.AreNotEqual(root["0"]["x"].Value, target[0].x); root.ApplyModifiedProperties(); Assert.AreEqual(-1f, target[0].x); Assert.AreEqual(root["0"]["x"].Value, target[0].x); }
public void ApplyModifedProperties_Array() { float[] target = new float[3]; target[0] = 4f; target[1] = 5f; target[2] = 6f; ReflectedObject root = new ReflectedObject(target); root["0"].Value = 1f; Assert.AreNotEqual(root["0"].Value, target[0]); root.ApplyModifiedProperties(); Assert.AreEqual(root["0"].Value, target[0]); }
public void ApplyModifiedProperties_Struct() { Vector3 target = new Vector3(1f, 2f, 3f); ReflectedObject root = new ReflectedObject(target); root["x"].Value = 4f; root["y"].Value = 5f; Assert.AreEqual(1f, target.x); Assert.AreEqual(2f, target.y); root.ApplyModifiedProperties(); target = (Vector3)root.Value; Assert.AreEqual(4f, target.x); Assert.AreEqual(5f, target.y); }
public void ApplyModifiedProperties_List() { List <float> target = new List <float>(); target.Add(4f); target.Add(5f); target.Add(6f); ReflectedObject root = new ReflectedObject(target); root["0"].Value = 1f; Assert.AreNotEqual(root["0"].Value, target[0]); root.ApplyModifiedProperties(); Assert.AreEqual(root["0"].Value, target[0]); }
private void RenderDetails() { if (selectedAsset == null) { return; } scrollVec = EditorGUILayout.BeginScrollView(scrollVec); { EditorGUILayout.BeginVertical((GUILayoutOption[])null); EditorGUILayoutX.PropertyField(reflectedSelection); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); reflectedSelection?.ApplyModifiedProperties(); }
private void OnSelectionChanged(ShipTreeView.ShipTreeViewSelection newSelection) { selection?.ApplyModifiedProperties(); if (newSelection.shipGroup != null) { selection = new ReflectedObject(newSelection.shipGroup); } else if (newSelection.ship != null) { selection = new ReflectedObject(newSelection.ship); } else { selection = null; } }
public override void OnDisable() { reflectedSelection?.ApplyModifiedProperties(); }