示例#1
0
    public void AddMulti(CustomAnimation a1, CustomAnimation a2)
    {
        GameObject     multiAnimationGO = Instantiate(multiAnimationPrefab, transform);
        MultiAnimation multiAnimation   = multiAnimationGO.GetComponent <MultiAnimation>();

        multiAnimation.Build(a1, a2);
        animations.Add(multiAnimation);
    }
示例#2
0
    public void AddMulti(List <CustomAnimation> animations_)
    {
        if (animations_.Count == 0)
        {
            return;
        }
        GameObject     multiAnimationGO = Instantiate(multiAnimationPrefab, transform);
        MultiAnimation multiAnimation   = multiAnimationGO.GetComponent <MultiAnimation>();

        multiAnimation.Build(animations_);
        animations.Add(multiAnimation);
    }
示例#3
0
    public void AddToLastInParallel(CustomAnimation a)
    {
        if (animations.Count == 0)
        {
            Add(a);
            return;
        }
        // Detaching currently Last animation
        CustomAnimation lastItem = animations[animations.Count - 1];

        animations.Remove(lastItem);

        // Constructing list of next Last parallel animations
        List <CustomAnimation> lastAnimations;

        if (lastItem is MultiAnimation)
        {
            lastAnimations = new List <CustomAnimation>(((MultiAnimation)lastItem).animations);
            Destroy(lastItem.gameObject);
        }
        else
        {
            lastAnimations = new List <CustomAnimation>()
            {
                lastItem
            };
        }
        lastAnimations.Add(a);

        // Instantiating MultiAnimation
        GameObject     multiAnimationGO = Instantiate(multiAnimationPrefab, transform);
        MultiAnimation multiAnimation   = multiAnimationGO.GetComponent <MultiAnimation>();

        multiAnimation.Build(lastAnimations);

        animations.Add(multiAnimation);
    }