// copy properties from key public override void CopyTo(AMKey key) { base.CopyTo(key); AMEventKey a = key as AMEventKey; a.component = component; a.componentName = componentName; a.useSendMessage = useSendMessage; // parameters a.methodName = methodName; a.cachedMethodInfo = cachedMethodInfo; foreach (AMEventParameter e in parameters) { a.parameters.Add(e.CreateClone()); } }
// add a new key public void addKey(AMITarget itarget, OnAddKey addCall, int _frame) { foreach (AMEventKey key in keys) { // if key exists on frame, do nothing if (key.frame == _frame) { return; } } AMEventKey a = addCall(gameObject, typeof(AMEventKey)) as AMEventKey; a.frame = _frame; // add a new key keys.Add(a); // update cache updateCache(itarget); }