private bool GetInvokeComponent(int cmdHash, System.Type invokeClass, out NetworkBehaviour invokeComponent)
{
NetworkBehaviour behaviour = null;
for (int i = 0; i < this.m_NetworkBehaviours.Length; i++)
{
NetworkBehaviour behaviour2 = this.m_NetworkBehaviours[i];
if ((behaviour2.GetType() == invokeClass) || behaviour2.GetType().IsSubclassOf(invokeClass))
{
behaviour = behaviour2;
break;
}
}
if (behaviour == null)
{
string cmdHashHandlerName = NetworkBehaviour.GetCmdHashHandlerName(cmdHash);
if (LogFilter.logError)
{
Debug.LogError(string.Concat(new object[] { "Found no behaviour for incoming [", cmdHashHandlerName, "] on ", base.gameObject, ", the server and client should have the same NetworkBehaviour instances [netId=", this.netId, "]." }));
}
invokeComponent = null;
return false;
}
invokeComponent = behaviour;
return true;
}