示例#1
0
        public static void AddNotTransformAfterHavingParent()
        {
            var gameObject = new UnityEngine.GameObject();

            try
            {
                var rect = new Mux.Markup.RectTransform {
                    BindingContext = 0
                };
                rect.AddTo(gameObject);
                var child = new NotTransform();
                SynchronizationContextWaiter.Execute(() => rect.Add(child));

                Assert.AreEqual(0, child.BindingContext);
                Assert.AreEqual(rect.Body.gameObject, child.gameObject);
                Assert.AreEqual(1, child.awakeCount);
            }
            finally
            {
                UnityEngine.Object.Destroy(gameObject);
            }
        }
示例#2
0
        public static void SetNonNullToBindableModifierProperty()
        {
            var source = new Source {
                Property = 0
            };
            var gameObject = new UnityEngine.GameObject();

            try
            {
                var modifier = new Modifier {
                    Body = gameObject.transform
                };
                var newModifier = new Modifier();
                var instance    = new WithBindableBodyProperties {
                    defaultModifier = modifier
                };
                instance.AddToInMainThread(gameObject);
                instance.BindingContext = 2;
                var binding = new Binding("Property", BindingMode.OneWay, null, null, null, source);

                modifier.SetBinding(Modifier.BindingContextProperty, binding);
                Assert.AreEqual(modifier, instance.BindableModifier);
                Assert.AreEqual(0, modifier.BindingContext);

                SynchronizationContextWaiter.Execute(() => instance.BindableModifier = newModifier);
                Assert.AreEqual(newModifier, instance.BindableModifier);
                Assert.AreEqual(gameObject.transform, newModifier.Body);
                Assert.AreEqual(2, newModifier.BindingContext);

                source.Property = 1;
                Assert.AreEqual(0, modifier.BindingContext);
                Assert.Null(modifier.Body);
            }
            finally
            {
                UnityEngine.Object.Destroy(gameObject);
            }
        }
示例#3
0
        public static void LocalEulerAngles()
        {
            var rect = new Mux.Markup.RectTransform();

            try
            {
                SynchronizationContextWaiter.Execute(() =>
                {
                    Assert.AreEqual(UnityEngine.Vector3.zero, rect.LocalEulerAngles);

                    rect.LocalEulerAngles = new UnityEngine.Vector3(7, 8, 9);
                    var expectedEuler     = new UnityEngine.Vector3(7, 8, 9);
                    Assert.That(rect.LocalEulerAngles, Is.EqualTo(expectedEuler).Using(Vector3EqualityComparer.Instance));
                });

                var expectedRotation = new UnityEngine.Quaternion(0.1f, 0.1f, 0.1f, 1f);
                Assert.That(rect.LocalRotation, Is.EqualTo(expectedRotation).Using(QuaternionEqualityComparer.Instance));
            }
            finally
            {
                rect.Destroy();
            }
        }
示例#4
0
        public static void Tag()
        {
            var gameObject = new UnityEngine.GameObject();

            try
            {
                var rect = new Mux.Markup.RectTransform();
                Assert.AreEqual("Untagged", rect.Tag);
                rect.AddTo(gameObject);
                Assert.AreEqual("Untagged", rect.Body.tag);

                SynchronizationContextWaiter.Execute(() =>
                {
                    rect.Tag = "Finish";
                    Assert.AreEqual("Finish", rect.Tag);
                });

                Assert.AreEqual("Finish", rect.Body.tag);
            }
            finally
            {
                UnityEngine.Object.Destroy(gameObject);
            }
        }