public static bool RunRPCMethod(uint entity, ERPCMethodUID method, ERPCNetworkType networkType, Message message) { try { if (BaseNetworkable.HasNetworkable(entity) && HasRPCMethod(method)) { return((bool)(RPCMethods[method]?.Invoke(BaseNetworkable.ListNetworkables[entity], new object[] { networkType, message }) ?? false)); } } catch (Exception ex) { ConsoleSystem.Log("Exception: RunRPCMethod(" + (BaseNetworkable.HasNetworkable(entity) ? BaseNetworkable.ListNetworkables[entity].ToString() : "NoHaveEntity") + ", " + method + ", " + networkType + ") => " + ex.Message); } return(false); }
public static bool HasRPCMethod(ERPCMethodUID method) => RPCMethods.ContainsKey(method);
public RPCMethodAttribute(ERPCMethodUID method) { MethodName = method; }