Exemple #1
0
        public void RemoveAllChildren()
        {
            VFXModel modelA  = ScriptableObject.CreateInstance <VFXModelA>();
            VFXModel modelB0 = ScriptableObject.CreateInstance <VFXModelB>();
            VFXModel modelB1 = ScriptableObject.CreateInstance <VFXModelB>();
            VFXModel modelB2 = ScriptableObject.CreateInstance <VFXModelB>();

            modelA.AddChild(modelB0);
            modelA.AddChild(modelB1);
            modelA.AddChild(modelB2);

            s_logs.Clear();
            modelA.RemoveAllChildren();

            Assert.AreEqual(0, modelA.GetNbChildren());
            Assert.IsNull(modelB0.GetParent());
            Assert.IsNull(modelB1.GetParent());
            Assert.IsNull(modelB2.GetParent());

            Assert.AreEqual(6, s_logs.Count);
            for (int i = 0; i < 6; i += 2)
            {
                Assert.AreEqual("OnRemoved VFXModelB", s_logs[i]);
                Assert.AreEqual("OnInvalidate VFXModelA kStructureChanged", s_logs[i + 1]);
            }
        }