/// <summary> /// Sends network message from client to server. /// Note that only owner of this entity can send messages. /// </summary> /// <param name="index">Index of message.</param> public QNetEntityOutgoingMessage SendNetworkClientMessage(byte index) { if (!QNetManager.IsClientActive) { throw new InvalidOperationException("QNetEntity network client message can only be send from client."); } var outgoingMessage = new QNetEntityOutgoingMessage(this, false, default(QNetConnection)); outgoingMessage.Writer.WriteByte(index); return(outgoingMessage); }
/// <summary> /// Sends network message from server to all clients. /// </summary> /// <param name="index">Index of message.</param> public QNetEntityOutgoingMessage SendNetworkServerMessage(byte index) { if (!QNetManager.IsServerActive) { throw new InvalidOperationException("QNetEntity network server message can only be send from server."); } var outgoingMessage = new QNetEntityOutgoingMessage(this, true, default(QNetConnection)); if (IsServer) { // write server frame outgoingMessage.Writer.WriteUInt32(QNetTime.ServerFrame); } outgoingMessage.Writer.WriteByte(index); return(outgoingMessage); }
/// <summary> /// Sends network message from server to given connection. /// </summary> /// <param name="targetConnection">Target connection of message.</param> /// <param name="index">Index of message.</param> public QNetEntityOutgoingMessage SendNetworkServerDedicatedMessage(QNetConnection targetConnection, byte index) { if (!QNetManager.IsServerActive) { throw new InvalidOperationException("QNetEntity network server message can only be send from server."); } if (targetConnection.Equals(default(QNetConnection))) { throw new InvalidOperationException("Default target connection received in server dedicated message."); } var outgoingMessage = new QNetEntityOutgoingMessage(this, true, targetConnection); if (IsServer) { // write server frame outgoingMessage.Writer.WriteUInt32(QNetTime.ServerFrame); } outgoingMessage.Writer.WriteByte(index); return(outgoingMessage); }