/// <summary>
        ///     Sends an event with a network object to all clients.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="ev"></param>
        /// <param name="obj"></param>
        /// <param name="method">Unreliable by default.</param>
        public void SendEventToAllClients <T>(NetworkEvents.Event ev, T obj,
                                              NetDeliveryMethod method = NetDeliveryMethod.Unreliable)
        {
            var msg   = server.CreateMessage();
            var bytes = ev.Serialize(obj);

            msg.Write(bytes);
            server.SendToAll(msg, method);
        }
        /// <summary>
        ///     Sends an event with a network object to clients.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="clientConnections"></param>
        /// <param name="ev"></param>
        /// <param name="obj"></param>
        /// <param name="method">Unreliable by default.</param>
        public void SendEventToClient <T>(IList <NetConnection> clientConnections, NetworkEvents.Event ev, T obj,
                                          NetDeliveryMethod method = NetDeliveryMethod.Unreliable)
        {
            var msg   = server.CreateMessage();
            var bytes = ev.Serialize(obj);

            msg.Write(bytes);
            server.SendMessage(msg, clientConnections, method, 0);
        }