Exemple #1
0
        public IEnumerator CreateBrushMaterial_BrushMaterialIsPartOfManager()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.True(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
            }
        }
Exemple #2
0
        public IEnumerator CreateBrushMaterial_UnregisterBrushMaterial_BrushMaterialIsNotPartOfManager()
        {
            using (var newBrushMaterial = ChiselBrushMaterial.CreateInstance())
            {
                ChiselBrushMaterialManager.Unregister(newBrushMaterial);
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.False(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
            }
        }
Exemple #3
0
        public IEnumerator CreateBrushMaterial_Destroy_BrushMaterialIsNotPartOfManager()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                yield return(null);

                ChiselBrushMaterialManager.Update();

                newBrushMaterial.Dispose();
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.False(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
            }
        }
Exemple #4
0
        public IEnumerator CreateBrushMaterialWithPhysicMaterial_ManagerKnowsMaterial()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                var newPhysicsMaterial = new PhysicMaterial();

                newBrushMaterial.PhysicsMaterial = newPhysicsMaterial;
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.True(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
                Assert.AreEqual(newPhysicsMaterial, ChiselBrushMaterialManager.GetPhysicsMaterialByInstanceID(newPhysicsMaterial.GetInstanceID(), false));
                Assert.AreEqual(1, ChiselBrushMaterialManager.GetPhysicsMaterialRefCountByInstanceID(newPhysicsMaterial.GetInstanceID()));

                UnityEngine.Object.DestroyImmediate(newPhysicsMaterial);
            }
        }
Exemple #5
0
        public IEnumerator CreateBrushMaterialWithPhysicMateriall_RetrieveRenderMaterialWithPhysicsMaterialInstanceID_ReturnsNull()
        {
            using (var newBrushMaterial = new ChiselBrushMaterial())
            {
                var newPhysicsMaterial = new PhysicMaterial();

                newBrushMaterial.PhysicsMaterial = newPhysicsMaterial;
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.True(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
                LogAssert.Expect(LogType.Error, new Regex("Trying to use PhysicMaterial with"));
                Assert.IsNull(ChiselBrushMaterialManager.GetRenderMaterialByInstanceID(newPhysicsMaterial.GetInstanceID(), false));

                UnityEngine.Object.DestroyImmediate(newPhysicsMaterial);
            }
        }
Exemple #6
0
        public IEnumerator CreateBrushMaterialWithRenderMaterial_ManagerKnowsMaterial()
        {
            using (var newBrushMaterial = ChiselBrushMaterial.CreateInstance())
            {
                var newRenderMaterial = new Material(Shader.Find("Specular"));

                newBrushMaterial.RenderMaterial = newRenderMaterial;
                yield return(null);

                ChiselBrushMaterialManager.Update();

                Assert.True(ChiselBrushMaterialManager.IsRegistered(newBrushMaterial));
                Assert.AreEqual(newRenderMaterial, ChiselBrushMaterialManager.GetRenderMaterialByInstanceID(newRenderMaterial.GetInstanceID(), false));
                Assert.AreEqual(1, ChiselBrushMaterialManager.GetRenderMaterialRefCountByInstanceID(newRenderMaterial.GetInstanceID()));

                UnityEngine.Object.DestroyImmediate(newRenderMaterial);
            }
        }