internal bool InvokeSyncListDelegate(int cmdHash, NetworkReader reader) { bool result; if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { result = false; } else { NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; if (invoker.invokeType != NetworkBehaviour.UNetInvokeType.SyncList) { result = false; } else if (base.GetType() != invoker.invokeClass) { result = false; } else { invoker.invokeFunction(this, reader); result = true; } } return(result); }
internal bool InvokeRpcDelegate(int cmdHash, NetworkReader reader) { bool result; if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { result = false; } else { NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; if (invoker.invokeType != NetworkBehaviour.UNetInvokeType.ClientRpc) { result = false; } else { if (base.GetType() != invoker.invokeClass) { if (!base.GetType().IsSubclassOf(invoker.invokeClass)) { return(false); } } invoker.invokeFunction(this, reader); result = true; } } return(result); }
internal static string GetCmdHashHandlerName(int cmdHash) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(cmdHash.ToString()); } NetworkBehaviour.Invoker cmdHandlerDelegate = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; return(((int)cmdHandlerDelegate.invokeType).ToString() + ":" + cmdHandlerDelegate.invokeFunction.Method.Name); }
internal static string GetInvoker(int cmdHash) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(null); } NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; return(invoker.DebugString()); }
internal bool InvokeSyncListDelegate(int cmdHash, NetworkReader reader) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(false); } NetworkBehaviour.Invoker cmdHandlerDelegate = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; if (cmdHandlerDelegate.invokeType != NetworkBehaviour.UNetInvokeType.SyncList || this.GetType() != cmdHandlerDelegate.invokeClass) { return(false); } cmdHandlerDelegate.invokeFunction(this, reader); return(true); }
internal bool InvokeSyncEventDelegate(int cmdHash, NetworkReader reader) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(false); } NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; if (invoker.invokeType != NetworkBehaviour.UNetInvokeType.SyncEvent) { return(false); } invoker.invokeFunction(this, reader); return(true); }
internal static string GetCmdHashHandlerName(int cmdHash) { string result; if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { result = cmdHash.ToString(); } else { NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; result = invoker.invokeType + ":" + invoker.invokeFunction.GetMethodName(); } return(result); }
internal static string GetInvoker(int cmdHash) { string result; if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { result = null; } else { NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; result = invoker.DebugString(); } return(result); }
private static string GetCmdHashPrefixName(int cmdHash, string prefix) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(cmdHash.ToString()); } NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; string text = invoker.invokeFunction.Method.Name; int num = text.IndexOf(prefix); if (num > -1) { text = text.Substring(prefix.Length); } return(text); }
private static bool GetInvokerForHash(int cmdHash, NetworkBehaviour.UNetInvokeType invokeType, out Type invokeClass, out NetworkBehaviour.CmdDelegate invokeFunction) { NetworkBehaviour.Invoker invoker = null; bool result; if (!NetworkBehaviour.s_CmdHandlerDelegates.TryGetValue(cmdHash, out invoker)) { if (LogFilter.logDev) { Debug.Log("GetInvokerForHash hash:" + cmdHash + " not found"); } invokeClass = null; invokeFunction = null; result = false; } else if (invoker == null) { if (LogFilter.logDev) { Debug.Log("GetInvokerForHash hash:" + cmdHash + " invoker null"); } invokeClass = null; invokeFunction = null; result = false; } else if (invoker.invokeType != invokeType) { if (LogFilter.logError) { Debug.LogError("GetInvokerForHash hash:" + cmdHash + " mismatched invokeType"); } invokeClass = null; invokeFunction = null; result = false; } else { invokeClass = invoker.invokeClass; invokeFunction = invoker.invokeFunction; result = true; } return(result); }
protected static void RegisterSyncListDelegate(Type invokeClass, int cmdHash, NetworkBehaviour.CmdDelegate func) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { NetworkBehaviour.Invoker invoker = new NetworkBehaviour.Invoker(); invoker.invokeType = NetworkBehaviour.UNetInvokeType.SyncList; invoker.invokeClass = invokeClass; invoker.invokeFunction = func; NetworkBehaviour.s_CmdHandlerDelegates[cmdHash] = invoker; if (LogFilter.logDev) { Debug.Log(string.Concat(new object[] { "RegisterSyncListDelegate hash:", cmdHash, " ", func.GetMethodName() })); } } }
internal bool InvokeCommandDelegate(int cmdHash, NetworkReader reader) { if (!NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return(false); } NetworkBehaviour.Invoker invoker = NetworkBehaviour.s_CmdHandlerDelegates[cmdHash]; if (invoker.invokeType != NetworkBehaviour.UNetInvokeType.Command) { return(false); } if (base.GetType() != invoker.invokeClass) { if (!base.GetType().IsSubclassOf(invoker.invokeClass)) { return(false); } } invoker.invokeFunction(this, reader); return(true); }
protected static void RegisterRpcDelegate(Type invokeClass, int cmdHash, NetworkBehaviour.CmdDelegate func) { if (NetworkBehaviour.s_CmdHandlerDelegates.ContainsKey(cmdHash)) { return; } NetworkBehaviour.Invoker invoker = new NetworkBehaviour.Invoker(); invoker.invokeType = NetworkBehaviour.UNetInvokeType.ClientRpc; invoker.invokeClass = invokeClass; invoker.invokeFunction = func; NetworkBehaviour.s_CmdHandlerDelegates[cmdHash] = invoker; if (LogFilter.logDev) { Debug.Log(string.Concat(new object[] { "RegisterRpcDelegate hash:", cmdHash, " ", func.Method.Name })); } }
private static bool GetInvokerForHash(int cmdHash, NetworkBehaviour.UNetInvokeType invokeType, out System.Type invokeClass, out NetworkBehaviour.CmdDelegate invokeFunction) { NetworkBehaviour.Invoker invoker = (NetworkBehaviour.Invoker)null; if (!NetworkBehaviour.s_CmdHandlerDelegates.TryGetValue(cmdHash, out invoker)) { if (LogFilter.logDev) { Debug.Log((object)("GetInvokerForHash hash:" + (object)cmdHash + " not found")); } invokeClass = (System.Type)null; invokeFunction = (NetworkBehaviour.CmdDelegate)null; return(false); } if (invoker == null) { if (LogFilter.logDev) { Debug.Log((object)("GetInvokerForHash hash:" + (object)cmdHash + " invoker null")); } invokeClass = (System.Type)null; invokeFunction = (NetworkBehaviour.CmdDelegate)null; return(false); } if (invoker.invokeType != invokeType) { if (LogFilter.logError) { Debug.LogError((object)("GetInvokerForHash hash:" + (object)cmdHash + " mismatched invokeType")); } invokeClass = (System.Type)null; invokeFunction = (NetworkBehaviour.CmdDelegate)null; return(false); } invokeClass = invoker.invokeClass; invokeFunction = invoker.invokeFunction; return(true); }