Esempio n. 1
0
        public void ItShouldCalculateAnchorPositionForEachFrame()
        {
            var anchorIndex = CompiledModel.Anchors.FindIndex(x => x.Name == "Test_Anchor");

            ModelInstance.RunAnimation(AnimationType.Walking, false, false);
            for (var i = 0; i < CompiledModel.Animations[AnimationType.Walking].Frames.Count; i++)
            {
                ModelInstance.Update(1 / 24.0f);

                var calculatedAnchorPosition = ModelInstance.Anchors[anchorIndex].Position;
                var expectedAnchorPosition   = CompiledModel.Animations[AnimationType.Walking].Frames[i].AnchorStates[anchorIndex].Position;

                Trace.WriteLine(string.Format("[{2}] calc:{0}    expt:{1}", calculatedAnchorPosition, expectedAnchorPosition, i));

                AssertVector(calculatedAnchorPosition, expectedAnchorPosition);

                var calculatedMatrix = ModelInstance.GetAnchorMatrix("Test_Anchor");
                var expectedMatrix   = ModelInstance.Anchors[anchorIndex].GetMatrix();
                AssertMatrix(calculatedMatrix, expectedMatrix);
            }
        }