private static void NetworkObjHandlerServer(ClientData clientInfo, List <MethodData> methodsInfo, object message, INetworkObject networkObject, List <object> objectsToSend) { foreach (var method in methodsInfo) { //if (CheckMethodFirstParameterServer(method) == message.GetType() //|| CheckMethodFirstParameterServer(method) == typeof(object)) if (method.ParameterType.IsAssignableFrom(message.GetType())) { if (method.hasClientData) { objectsToSend.Add(clientInfo); networkObject.InvokeNetworkMethods(method, objectsToSend.ToArray()); objectsToSend.Remove(clientInfo); } else { networkObject.InvokeNetworkMethods(method, objectsToSend.ToArray()); } } } }
private static void NetworkObjHandlerClient(List <MethodData> methodsInfo, object message, INetworkObject networkObject, List <object> objectsToSend) { foreach (var method in methodsInfo) { //if (CheckMethodFirstParameterClient(method) == message.GetType() //|| CheckMethodFirstParameterClient(method) == typeof(object)) if (method.ParameterType.IsAssignableFrom(message.GetType())) { networkObject.InvokeNetworkMethods(method, objectsToSend.ToArray()); } } }