Exemple #1
0
        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]);
        }
Exemple #7
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();
 }
Exemple #8
0
 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;
     }
 }
Exemple #9
0
 public override void OnDisable()
 {
     reflectedSelection?.ApplyModifiedProperties();
 }