public void AddMulti(CustomAnimation a1, CustomAnimation a2) { GameObject multiAnimationGO = Instantiate(multiAnimationPrefab, transform); MultiAnimation multiAnimation = multiAnimationGO.GetComponent <MultiAnimation>(); multiAnimation.Build(a1, a2); animations.Add(multiAnimation); }
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); }
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); }