public void Sync(IAction other)
 {
     if (this._input)   //Only process in the input action
     {
         ChannelSyncAction cout = (ChannelSyncAction)other;
         foreach (int value in cout._values)
         {
             this._values.Add(value);
         }
     }
     //do nothing
 }
        public bool CanSyncWith(IAction other)
        {
            if (!(other is ChannelSyncAction))
            {
                return(false);
            }
            ChannelSyncAction otherAction = (ChannelSyncAction)other;

            return(otherAction._name == this._name &&
                   otherAction._input != this._input &&
                   otherAction._paramCount == this._paramCount);
        }