Beispiel #1
0
        public void Crossfade_DoesntStopOtherClips([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation    = ComparativeTestFixture.Instantiate(type);
            var        clip         = Resources.Load <AnimationClip>("LinearX");
            var        clipInstance = Object.Instantiate <AnimationClip>(clip);

            clipInstance.legacy = animation.usesLegacy;

            animation.AddClip(clipInstance, "ToPlay");
            animation.AddClip(clipInstance, "ToCrossfade");
            animation.CrossFade("ToPlay", 0f);
            animation.CrossFade("ToCrossfade", 0.2f);

            Assert.IsTrue(animation.IsPlaying("ToPlay"));
        }
Beispiel #2
0
        public IEnumerator Crossfade_LongerThanClip_KeepsClipAlive_UntilCrossfadeDone([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation = ComparativeTestFixture.Instantiate(type);
            var        clipX     = Resources.Load <AnimationClip>("LinearX");
            var        clipY     = Resources.Load <AnimationClip>("LinearY");
            var        xClip     = Object.Instantiate <AnimationClip>(clipX);
            var        yClip     = Object.Instantiate <AnimationClip>(clipY);

            xClip.legacy = animation.usesLegacy;
            yClip.legacy = animation.usesLegacy;

            animation.AddClip(yClip, "ToPlay");
            animation.AddClip(xClip, "ToCrossfade");
            animation.Play("ToPlay");

            yield return(new WaitForSeconds(0.9f));

            Assert.IsTrue(animation.IsPlaying("ToPlay"));
            Assert.AreNotEqual(0f, animation.gameObject.transform.localPosition.y);
            animation.CrossFade("ToCrossfade", 1.2f);
            yield return(new WaitForSeconds(1.5f));

            Assert.AreNotEqual(0f, animation.gameObject.transform.localPosition.y);
            Assert.IsTrue(animation.IsPlaying("ToCrossfade"));
        }
Beispiel #3
0
        public void Crossfade_WithInvalidName_FailsOnCall([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation = ComparativeTestFixture.Instantiate(type);

            LogAssert.Expect(LogType.Error, new Regex(""));
            animation.CrossFade("InvalidName", 0);
        }
Beispiel #4
0
        public IEnumerator Crossfade_MultipleTimes_DoesntReset_Crossfade_Duration([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation     = ComparativeTestFixture.Instantiate(type);
            var        clip          = Resources.Load <AnimationClip>("LinearX");
            var        clip2         = Resources.Load <AnimationClip>("LinearY");
            var        clipInstance  = Object.Instantiate <AnimationClip>(clip);
            var        clipInstance2 = Object.Instantiate <AnimationClip>(clip2);

            clipInstance.legacy  = animation.usesLegacy;
            clipInstance2.legacy = animation.usesLegacy;

            animation.AddClip(clipInstance, "ToPlay");
            animation.AddClip(clipInstance2, "ToCrossfade");
            animation.Play("ToPlay");
            animation.CrossFade("ToCrossfade", 0.2f);
            yield return(new WaitForSeconds(0.1f));

            animation.CrossFade("ToCrossfade", 0.2f);
            yield return(new WaitForSeconds(0.11f));

            Assert.AreEqual(0.0f, animation.GetState("ToPlay").weight);
            Assert.AreEqual(1.0f, animation.GetState("ToCrossfade").weight);
        }
Beispiel #5
0
        public IEnumerator Crossfade_WithValidName_MovesObject([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation    = ComparativeTestFixture.Instantiate(type);
            var        clip         = Resources.Load <AnimationClip>("LinearX");
            var        clipInstance = Object.Instantiate <AnimationClip>(clip);

            clipInstance.legacy = animation.usesLegacy;

            animation.AddClip(clipInstance, "ToCrossfade");
            animation.CrossFade("ToCrossfade", 0f);

            yield return(new WaitForSeconds(0.2f));

            Assert.AreNotEqual(0f, animation.gameObject.transform.localPosition.x);
        }
Beispiel #6
0
        public IEnumerator CrossfadedOut_Clips_AreTimeReset([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
        {
            IAnimation animation    = ComparativeTestFixture.Instantiate(type);
            var        clip         = Resources.Load <AnimationClip>("LinearX");
            var        clipInstance = Object.Instantiate <AnimationClip>(clip);

            clipInstance.legacy = animation.usesLegacy;

            animation.AddClip(clipInstance, "ToPlay");
            animation.AddClip(clipInstance, "ToCrossfade");
            animation.Play("ToPlay");
            animation.CrossFade("ToCrossfade", 0.1f);

            yield return(new WaitForSeconds(0.2f));

            Assert.AreEqual(0.0f, animation.GetState("ToPlay").normalizedTime);
        }
Beispiel #7
0
    public IEnumerator IsPlaying_AfterCrossfadeDone_ReturnsFalse([ValueSource(typeof(ComparativeTestFixture), "Sources")] System.Type type)
    {
        IAnimation animation    = ComparativeTestFixture.Instantiate(type);
        var        clip         = Resources.Load <AnimationClip>("LinearX");
        var        clipInstance = Object.Instantiate <AnimationClip>(clip);

        clipInstance.legacy   = animation.usesLegacy;
        clipInstance.wrapMode = WrapMode.Once;

        animation.AddClip(clipInstance, "test");
        animation.AddClip(clipInstance, "test2");
        animation.Play("test");
        yield return(new WaitForSeconds(0.2f));

        animation.CrossFade("test2", 1.5f);
        yield return(new WaitForSeconds(2.0f));

        Assert.AreEqual(false, animation.isPlaying);
    }