public static void Subscribe <CustomMessageBase>(TTMsgType MessageID, Action <CustomMessageBase, NetworkMessage> AsClientReceiveMessage, Action <CustomMessageBase, NetworkMessage> AsHostReceiveMessage = null) where CustomMessageBase : MessageBase, new() { Subscriptions.Add(MessageID, new ActionWrapper <CustomMessageBase>() { CanReceiveAsClient = AsClientReceiveMessage != null, ClientReceive = AsClientReceiveMessage, CanReceiveAsHost = AsHostReceiveMessage != null, HostReceive = AsHostReceiveMessage, }); }
public static void BroadcastMessageToClient <NetMessage>(TTMsgType MessageID, NetMessage Message, int ClientConnection) where NetMessage : MessageBase { try { Singleton.Manager <ManNetwork> .inst.SendToClient(ClientConnection, MessageID, Message /*, ThisNetID*/); //Console.WriteLine($"Sent {MessageID} to client"); } catch (Exception E) { Console.WriteLine($"Could not send message {typeof(NetMessage).ToString()} to client on connection {ClientConnection} : {E.Message}, \n{E.StackTrace}"); } }
public static void BroadcastMessageToAllExcept <NetMessage>(TTMsgType MessageID, NetMessage Message, bool SkipBroadcaster, int ClientConnectionToIgnore = -1) where NetMessage : MessageBase { try { Singleton.Manager <ManNetwork> .inst.SendToAllExceptClient(ClientConnectionToIgnore, MessageID, Message /*, ThisNetID*/, SkipBroadcaster); //Console.WriteLine($"Sent {MessageID} to all-except"); } catch (Exception E) { Console.WriteLine($"Could not send message {typeof(NetMessage).ToString()} to specific clients : {E.Message}, \n{E.StackTrace}"); } }
public static void BroadcastMessageToServer <NetMessage>(TTMsgType MessageID, NetMessage Message) where NetMessage : MessageBase { try { Singleton.Manager <ManNetwork> .inst.SendToServer(MessageID, Message); //Console.WriteLine($"Sent {MessageID} to server"); } catch (Exception E) { Console.WriteLine($"Could not send message {typeof(NetMessage).ToString()} to server : {E.Message}, \n{E.StackTrace}"); } }