Ejemplo n.º 1
0
        public IEnumerator CreateBrushMaterial_BrushMaterialAddedEventIsCalled()
        {
            var hasBeenCalled = false;
            OnBrushMaterialDelegate localDelegate = delegate(ChiselBrushMaterial brushMaterial)
            { hasBeenCalled = true; };

            ChiselBrushMaterialManager.OnBrushMaterialAdded -= localDelegate;
            ChiselBrushMaterialManager.OnBrushMaterialAdded += localDelegate;
            yield return(null);

            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                Assert.IsTrue(hasBeenCalled);

                ChiselBrushMaterialManager.OnBrushMaterialAdded -= localDelegate;
            }
        }
Ejemplo n.º 2
0
        public IEnumerator CreateBrushMaterial_ChangeUsageFlag_BrushMaterialChangeEventIsCalled()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                var hasBeenCalled = false;
                OnBrushMaterialDelegate localDelegate = delegate(ChiselBrushMaterial brushMaterial) { hasBeenCalled = true; };
                newBrushMaterial.LayerUsage = LayerUsageFlags.None;
                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
                ChiselBrushMaterialManager.OnBrushMaterialChanged += localDelegate;
                yield return(null);

                newBrushMaterial.LayerUsage = LayerUsageFlags.Collidable;
                Assert.IsTrue(hasBeenCalled);

                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
            }
        }
Ejemplo n.º 3
0
        public IEnumerator CreateBrushMaterial_ChangePhysicsMaterial_BrushMaterialChangeEventIsCalled()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                var newPhysicsMaterial = new PhysicMaterial();

                var hasBeenCalled = false;
                OnBrushMaterialDelegate localDelegate = delegate(ChiselBrushMaterial brushMaterial)
                { hasBeenCalled = true; };
                newBrushMaterial.PhysicsMaterial = null;
                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
                ChiselBrushMaterialManager.OnBrushMaterialChanged += localDelegate;
                yield return(null);

                newBrushMaterial.PhysicsMaterial = newPhysicsMaterial;
                Assert.IsTrue(hasBeenCalled);

                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
                UnityEngine.Object.DestroyImmediate(newPhysicsMaterial);
            }
        }
Ejemplo n.º 4
0
        public IEnumerator CreateBrushMaterial_ChangeRenderMaterial_BrushMaterialChangeEventIsCalled()
        {
            using (var newBrushMaterial = ChiselBrushMaterial.CreateInstance())
            {
                var newRenderMaterial = new Material(Shader.Find("Specular"));

                var hasBeenCalled = false;
                OnBrushMaterialDelegate localDelegate = delegate(ChiselBrushMaterial brushMaterial)
                { hasBeenCalled = true; };
                newBrushMaterial.RenderMaterial = null;
                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
                ChiselBrushMaterialManager.OnBrushMaterialChanged += localDelegate;
                yield return(null);

                newBrushMaterial.RenderMaterial = newRenderMaterial;
                Assert.IsTrue(hasBeenCalled);

                ChiselBrushMaterialManager.OnBrushMaterialChanged -= localDelegate;
                UnityEngine.Object.DestroyImmediate(newRenderMaterial);
            }
        }