public void RegularChange()
        {
            TestObject[] obj = new TestObject[]
            {
                new TestObject { Foo = 42, Bar = "Hello" },
                new TestObject { Foo = 10, Bar = "World" },
                new TestObject { Foo = 0, Bar = "Not" }
            };
            ObjectPropertyChangedEventArgs args = new ObjectPropertyChangedEventArgs(
                new ObjectSelection(obj.Take(2)),
                new PropertyInfo[] { TestObject.FooProperty });

            Assert.IsTrue(args.HasObject(obj[0]));
            Assert.IsTrue(args.HasObject(obj[1]));
            Assert.IsFalse(args.HasObject(obj[2]));

            Assert.IsTrue(args.HasAnyObject(obj));
            Assert.IsTrue(args.HasAnyObject(obj.Skip(1)));
            Assert.IsFalse(args.HasAnyObject(obj.Skip(2)));

            Assert.IsTrue(args.HasProperty(TestObject.FooProperty));
            Assert.IsFalse(args.HasProperty(TestObject.BarProperty));
            Assert.IsFalse(args.HasProperty(UnrelatedObject.NotProperty));

            Assert.IsTrue(args.HasAnyProperty(TestObject.FooProperty));
            Assert.IsTrue(args.HasAnyProperty(TestObject.FooProperty, TestObject.BarProperty));
            Assert.IsFalse(args.HasAnyProperty(TestObject.BarProperty));
            Assert.IsFalse(args.HasAnyProperty(UnrelatedObject.NotProperty));

            Assert.IsFalse(args.CompleteChange);
        }
        private void DualityEditorApp_ObjectPropertyChanged(object sender, ObjectPropertyChangedEventArgs e)
        {
            // Ignore changes to objects we're not previewing
            if (!e.HasObject(this.prevImageValue))
                return;

            // Ignore changes to AssetInfo data, as this doesn't directly affect us until Re-Import
            if (!e.CompleteChange && e.HasProperty(ReflectionInfo.Property_Resource_AssetInfo))
                return;

            // Update the preview to reflect changes.
            this.InvalidatePreview();
            this.PerformGetValue();
        }
Пример #3
0
        private void DualityEditorApp_ObjectPropertyChanged(object sender, ObjectPropertyChangedEventArgs e)
        {
            if (e is PrefabAppliedEventArgs ||
                (e.HasProperty(ReflectionInfo.Property_GameObject_PrefabLink) && e.HasAnyObject(Scene.Current.AllObjects)) ||
                (e.CompleteChange && e.HasObject(Scene.Current)))
                this.UpdatePrefabLinkStatus(false);

            if (e.HasProperty(ReflectionInfo.Property_GameObject_Name))
            {
                foreach (GameObjectNode node in e.Objects.GameObjects.Select(g => this.FindNode(g)))
                    if (node != null) node.Text = node.Obj.Name;
            }
        }
Пример #4
0
		private void DualityEditorApp_ObjectPropertyChanged(object sender, ObjectPropertyChangedEventArgs e)
		{
			if (e.HasObject(this.prevImageValue))
			{
				this.InvalidatePreview();
				this.PerformGetValue();
			}
		}