public Command(Condition condition, ClientCommand clientExecution, ServerCommand serverExecution,
ApplyServerCommand applyServerResult, CommandType comandType, Type networkValueType,
DataTransferOptions dataTransferOptions, ExecutionFrequency frequency)
{
if (networkValueType != null && !networkValueType.IsValueType && networkValueType != typeof(string) && networkValueType != typeof(byte[]))
throw new CoreException("DataType must be a ValueType.");
LocalId = _count++;
Condition = condition;
ClientExecution = clientExecution;
ServerExecution = serverExecution;
ApplyServerResult = applyServerResult;
Type = comandType;
NetworkValueType = networkValueType;
TransferOptions = dataTransferOptions;
Frequency = frequency;
}