private void UnbindClip() { _clip.onTargetsListChanged.RemoveListener(OnTargetsListChanged); _clip.onAnimationKeyframesModified.RemoveListener(OnAnimationKeyframesModified); _keyframesRows.Clear(); while (_layout.transform.childCount > 0) { var child = _layout.transform.GetChild(0); child.transform.SetParent(null, false); Destroy(child.gameObject); } _clip = null; }
private void BindClip(IAtomAnimationClip clip) { _clip = clip; var any = false; foreach (var group in _clip.GetTargetGroups()) { if (group.Count > 0) { any = true; CreateHeader(group); foreach (var target in group.GetTargets()) { CreateRow(target); } } } _scrubberRect.gameObject.SetActive(any); _clip.onTargetsListChanged.AddListener(OnTargetsListChanged); _clip.onAnimationKeyframesModified.AddListener(OnAnimationKeyframesModified); }