Barotrauma Server
Loading...
Searching...
No Matches
Barotrauma.Networking.ChatMessage Class Reference
Inheritance diagram for Barotrauma.Networking.ChatMessage:
Barotrauma.Networking.OrderChatMessage Barotrauma.Networking.OrderChatMessage

Public Member Functions

string ApplyDistanceEffect (Character listener)
 
int EstimateLengthBytesClient ()
 
int EstimateLengthBytesServer (Client c)
 
virtual void ServerWrite (in SegmentTableWriter< ServerNetSegment > segmentTable, IWriteMessage msg, Client c)
 

Static Public Member Functions

static string GetTimeStamp ()
 
static ChatMessage Create (string senderName, string text, ChatMessageType type, Entity sender, Client client=null, PlayerConnectionChangeType changeType=PlayerConnectionChangeType.None, Color? textColor=null)
 
static string GetChatMessageCommand (string message, out string messageWithoutCommand)
 
static float GetGarbleAmount (Entity listener, Entity sender, float range, float obstructionMultiplier=2.0f)
 How much messages sent by sender should get garbled. Takes the distance between the entities and optionally the obstructions between them into account (see obstructionMultiplier ).
 
static string ApplyDistanceEffect (Entity listener, Entity sender, string text, float range, float obstructionMultiplier=2.0f)
 
static string ApplyDistanceEffect (string text, float garbleAmount)
 
static string ApplyDistanceEffect (string message, ChatMessageType type, Character sender, Character receiver)
 
static bool CanUseRadio (Character sender, bool ignoreJamming=false)
 
static bool CanUseRadio (Character sender, out WifiComponent radio, bool ignoreJamming=false)
 
static void ServerRead (IReadMessage msg, Client c)
 
static void HandleSpamFilter (Client c, string messageText, out bool flaggedAsSpam, float similarityMultiplier=1.0f)
 Increase the client's chat spam speed and check whether the spam filter should kick in.
 

Public Attributes

string Text
 
ChatMessageType Type
 
PlayerConnectionChangeType ChangeType
 
string IconStyle
 
readonly Entity Sender
 
readonly Client SenderClient
 
readonly string SenderName
 

Static Public Attributes

const int MaxLength = 200
 
const int MaxMessagesPerPacket = 10
 
const float SpeakRange = 2000.0f
 
const float SpeakRangeVOIP = 1000.0f
 This is shorter than the text chat speak range, because the voice chat is still intelligible (just quiet) close to the maximum range, while the text chat (which drops letters from the message) becomes unintelligible sooner.
 
static Color[] MessageColor
 
static UInt16 LastID = 0
 

Protected Member Functions

 ChatMessage (string senderName, string text, ChatMessageType type, Entity sender, Client client, PlayerConnectionChangeType changeType=PlayerConnectionChangeType.None, Color? textColor=null)
 

Properties

string TranslatedText [get]
 
Character SenderCharacter [get]
 
Color Color [get, set]
 
string TextWithSender [get]
 
UInt16 NetStateID [get, set]
 
ChatMode ChatMode = ChatMode.None [get, set]
 

Constructor & Destructor Documentation

◆ ChatMessage()

Barotrauma.Networking.ChatMessage.ChatMessage ( string senderName,
string text,
ChatMessageType type,
Entity sender,
Client client,
PlayerConnectionChangeType changeType = PlayerConnectionChangeType::None,
Color? textColor = null )
protected

Member Function Documentation

◆ ApplyDistanceEffect() [1/4]

string Barotrauma.Networking.ChatMessage.ApplyDistanceEffect ( Character listener)

◆ ApplyDistanceEffect() [2/4]

static string Barotrauma.Networking.ChatMessage.ApplyDistanceEffect ( Entity listener,
Entity sender,
string text,
float range,
float obstructionMultiplier = 2::0f )
static

◆ ApplyDistanceEffect() [3/4]

static string Barotrauma.Networking.ChatMessage.ApplyDistanceEffect ( string message,
ChatMessageType type,
Character sender,
Character receiver )
static

◆ ApplyDistanceEffect() [4/4]

static string Barotrauma.Networking.ChatMessage.ApplyDistanceEffect ( string text,
float garbleAmount )
static

◆ CanUseRadio() [1/2]

static bool Barotrauma.Networking.ChatMessage.CanUseRadio ( Character sender,
bool ignoreJamming = false )
static

◆ CanUseRadio() [2/2]

static bool Barotrauma.Networking.ChatMessage.CanUseRadio ( Character sender,
out WifiComponent radio,
bool ignoreJamming = false )
static

◆ Create()

static ChatMessage Barotrauma.Networking.ChatMessage.Create ( string senderName,
string text,
ChatMessageType type,
Entity sender,
Client client = null,
PlayerConnectionChangeType changeType = PlayerConnectionChangeType::None,
Color? textColor = null )
static

◆ EstimateLengthBytesClient()

int Barotrauma.Networking.ChatMessage.EstimateLengthBytesClient ( )

◆ EstimateLengthBytesServer()

int Barotrauma.Networking.ChatMessage.EstimateLengthBytesServer ( Client c)

◆ GetChatMessageCommand()

static string Barotrauma.Networking.ChatMessage.GetChatMessageCommand ( string message,
out string messageWithoutCommand )
static

◆ GetGarbleAmount()

static float Barotrauma.Networking.ChatMessage.GetGarbleAmount ( Entity listener,
Entity sender,
float range,
float obstructionMultiplier = 2::0f )
static

How much messages sent by sender should get garbled. Takes the distance between the entities and optionally the obstructions between them into account (see obstructionMultiplier ).

Parameters
obstructionMultiplierValues greater than or equal to 1 cause the message to get garbled more heavily when there's some obstruction between the characters. Values smaller than 1 mean the garbling only depends on distance.

◆ GetTimeStamp()

static string Barotrauma.Networking.ChatMessage.GetTimeStamp ( )
static

◆ HandleSpamFilter()

static void Barotrauma.Networking.ChatMessage.HandleSpamFilter ( Client c,
string messageText,
out bool flaggedAsSpam,
float similarityMultiplier = 1::0f )
static

Increase the client's chat spam speed and check whether the spam filter should kick in.

◆ ServerRead()

static void Barotrauma.Networking.ChatMessage.ServerRead ( IReadMessage msg,
Client c )
static

◆ ServerWrite()

virtual void Barotrauma.Networking.ChatMessage.ServerWrite ( in SegmentTableWriter< ServerNetSegment > segmentTable,
IWriteMessage msg,
Client c )
virtual

Member Data Documentation

◆ ChangeType

PlayerConnectionChangeType Barotrauma.Networking.ChatMessage.ChangeType

◆ IconStyle

string Barotrauma.Networking.ChatMessage.IconStyle

◆ LastID

UInt16 Barotrauma.Networking.ChatMessage.LastID = 0
static

◆ MaxLength

const int Barotrauma.Networking.ChatMessage.MaxLength = 200
static

◆ MaxMessagesPerPacket

const int Barotrauma.Networking.ChatMessage.MaxMessagesPerPacket = 10
static

◆ MessageColor

Color [] Barotrauma.Networking.ChatMessage.MessageColor
static
Initial value:
=
{
new Color(190, 198, 205),
new Color(204, 74, 78),
new Color(136, 177, 255),
new Color(157, 225, 160),
new Color(238, 208, 0),
new Color(64, 240, 89),
new Color(255, 255, 255),
new Color(255, 255, 255),
new Color(255, 128, 0)
}
Color Color
Definition ChatMessage.cs:101

◆ Sender

readonly Entity Barotrauma.Networking.ChatMessage.Sender

◆ SenderClient

readonly Client Barotrauma.Networking.ChatMessage.SenderClient

◆ SenderName

readonly string Barotrauma.Networking.ChatMessage.SenderName

◆ SpeakRange

const float Barotrauma.Networking.ChatMessage.SpeakRange = 2000.0f
static

◆ SpeakRangeVOIP

const float Barotrauma.Networking.ChatMessage.SpeakRangeVOIP = 1000.0f
static

This is shorter than the text chat speak range, because the voice chat is still intelligible (just quiet) close to the maximum range, while the text chat (which drops letters from the message) becomes unintelligible sooner.

◆ Text

string Barotrauma.Networking.ChatMessage.Text

◆ Type

ChatMessageType Barotrauma.Networking.ChatMessage.Type

Property Documentation

◆ ChatMode

ChatMode Barotrauma.Networking.ChatMessage.ChatMode = ChatMode.None
getset

◆ Color

Color Barotrauma.Networking.ChatMessage.Color
getset

◆ NetStateID

UInt16 Barotrauma.Networking.ChatMessage.NetStateID
getset

◆ SenderCharacter

Character Barotrauma.Networking.ChatMessage.SenderCharacter
get

◆ TextWithSender

string Barotrauma.Networking.ChatMessage.TextWithSender
get

◆ TranslatedText

string Barotrauma.Networking.ChatMessage.TranslatedText
get

The documentation for this class was generated from the following files: