示例#1
0
        private void AnimateSeparation(float time, float newSeparation)
        {
            Anim.wrapMode          = WrapMode.Once;
            Anim.playAutomatically = false;
            Anim.Rewind();

            var clipBuilder = new ClipBuilder(GetClip("separate"));

            for (int i = 0; i < coins.Length; i++)
            {
                var coin = coins[i];
                var coinLocalPosition = GetCoinLocalPosition(i, coins.Length, newSeparation);
                clipBuilder.LocalPosition(coin, coin.transform.position, coinLocalPosition, time);
            }
            float scale = separation != 0 ? 0.95f : 1f;

            clipBuilder.LocalScale(gameObject.transform.localScale, Vector3.one * scale, time);
            ReplaceAndPlay(clipBuilder.Clip, "separate");
            separation = newSeparation;
        }
示例#2
0
        private void AnimateImage(float time, float separation, float ratio)
        {
            if (coins == null)
            {
                return;
            }

            Anim.Stop();
            Anim.wrapMode          = WrapMode.Once;
            Anim.playAutomatically = false;
            Anim.Rewind();
            var clipBuilder = new ClipBuilder(GetClip("separate"));

            for (int i = 0; i < coins.Length; i++)
            {
                var coin = coins[i];
                var coinLocalPosition = GetCoinLocalPosition(i, coins.Length, separation);
                clipBuilder.LocalPosition(coins[i], coin.transform.position, coinLocalPosition, time);
            }
            clipBuilder.LocalScale(gameObject.transform.localScale, Vector3.one * ratio, time);
            ReplaceAndPlay(clipBuilder.Clip, "separate");
        }