// copy properties from key public override void CopyTo(AMKey key) { AMGOSetActiveKey a = key as AMGOSetActiveKey; a.enabled = false; a.frame = frame; a.setActive = setActive; }
// copy properties from key public override void CopyTo(AMKey key) { base.CopyTo(key); AMGOSetActiveKey a = key as AMGOSetActiveKey; a.setActive = setActive; }
// update cache public override void updateCache(AMITarget target) { base.updateCache(target); // add all clips to list for (int i = 0; i < keys.Count; i++) { AMGOSetActiveKey key = keys[i] as AMGOSetActiveKey; key.version = version; if (keys.Count > (i + 1)) { key.endFrame = keys[i + 1].frame; } else { key.endFrame = -1; } } }
// add a new key public void addKey(AMITarget target, OnAddKey addCall, int _frame) { foreach (AMGOSetActiveKey key in keys) { // if key exists on frame, update if (key.frame == _frame) { key.setActive = true; updateCache(target); return; } } AMGOSetActiveKey a = addCall(gameObject, typeof(AMGOSetActiveKey)) as AMGOSetActiveKey; a.frame = _frame; a.setActive = true; // add a new key keys.Add(a); // update cache updateCache(target); }