Removed more networking code
This commit is contained in:
@@ -717,153 +717,6 @@ namespace Barotrauma.Networking
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void SendChatMessage(string message, ChatMessageType? type = null)
|
||||
{
|
||||
List<Client> recipients = new List<Client>();
|
||||
Client targetClient = null;
|
||||
|
||||
if (type == null)
|
||||
{
|
||||
type = gameStarted && myCharacter != null ? ChatMessageType.Default : ChatMessageType.Server;
|
||||
}
|
||||
|
||||
string command = ChatMessage.GetChatMessageCommand(message, out message).ToLowerInvariant();
|
||||
|
||||
if (command=="dead" || command=="d")
|
||||
{
|
||||
type = ChatMessageType.Dead;
|
||||
}
|
||||
else if (command=="radio" || command=="r")
|
||||
{
|
||||
if (CanUseRadio(Character.Controlled)) type = ChatMessageType.Radio;
|
||||
}
|
||||
else if (command != "")
|
||||
{
|
||||
targetClient = connectedClients.Find(c =>
|
||||
command == c.name.ToLowerInvariant() ||
|
||||
(c.Character != null && command == c.Character.Name.ToLowerInvariant()));
|
||||
|
||||
if (targetClient == null)
|
||||
{
|
||||
AddChatMessage("Player ''" + command + "'' not found!", ChatMessageType.Error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (targetClient != null)
|
||||
{
|
||||
recipients.Add(targetClient);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Client c in connectedClients)
|
||||
{
|
||||
if (type != ChatMessageType.Dead || (c.Character == null || c.Character.IsDead)) recipients.Add(c);
|
||||
}
|
||||
}
|
||||
|
||||
var chatMessage = ChatMessage.Create(
|
||||
gameStarted && myCharacter != null ? myCharacter.Name : name,
|
||||
message, (ChatMessageType)type, gameStarted ? myCharacter : null);
|
||||
|
||||
AddChatMessage(chatMessage);
|
||||
|
||||
if (!server.Connections.Any()) return;
|
||||
|
||||
SendChatMessage(chatMessage, recipients);
|
||||
}
|
||||
|
||||
public void SendChatMessage(ChatMessage chatMessage, Client recipient)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SendChatMessage(ChatMessage chatMessage, List<Client> recipients)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void ReadCharacterData(NetIncomingMessage message)
|
||||
{
|
||||
Client sender = connectedClients.Find(c => c.Connection == message.SenderConnection);
|
||||
if (sender == null) return;
|
||||
|
||||
string name = "";
|
||||
Gender gender = Gender.Male;
|
||||
int headSpriteId = 0;
|
||||
|
||||
try
|
||||
{
|
||||
name = message.ReadString();
|
||||
gender = message.ReadBoolean() ? Gender.Male : Gender.Female;
|
||||
headSpriteId = message.ReadByte();
|
||||
}
|
||||
catch
|
||||
{
|
||||
name = "";
|
||||
gender = Gender.Male;
|
||||
headSpriteId = 0;
|
||||
}
|
||||
|
||||
if (sender.characterInfo != null)
|
||||
{
|
||||
//clients can't change their character's name once it's been set
|
||||
name = sender.characterInfo.Name;
|
||||
}
|
||||
|
||||
List<JobPrefab> jobPreferences = new List<JobPrefab>();
|
||||
int count = message.ReadByte();
|
||||
for (int i = 0; i < Math.Min(count, 3); i++)
|
||||
{
|
||||
string jobName = message.ReadString();
|
||||
JobPrefab jobPrefab = JobPrefab.List.Find(jp => jp.Name == jobName);
|
||||
if (jobPrefab != null) jobPreferences.Add(jobPrefab);
|
||||
}
|
||||
|
||||
sender.characterInfo = new CharacterInfo(Character.HumanConfigFile, name, gender);
|
||||
sender.characterInfo.HeadSpriteId = headSpriteId;
|
||||
sender.jobPreferences = jobPreferences;
|
||||
}
|
||||
|
||||
public void WriteCharacterData(NetOutgoingMessage msg, string name, Character c)
|
||||
{
|
||||
msg.Write(c.Info == null);
|
||||
msg.Write(c.ID);
|
||||
msg.Write(c.ConfigPath);
|
||||
|
||||
msg.Write(c.WorldPosition.X);
|
||||
msg.Write(c.WorldPosition.Y);
|
||||
|
||||
msg.Write(c.Enabled);
|
||||
|
||||
if (c.Info != null)
|
||||
{
|
||||
Client client = connectedClients.Find(cl => cl.Character == c);
|
||||
if (client != null)
|
||||
{
|
||||
msg.Write(true);
|
||||
msg.Write(client.ID);
|
||||
}
|
||||
else if (myCharacter == c)
|
||||
{
|
||||
msg.Write(true);
|
||||
msg.Write((byte)0);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(false);
|
||||
}
|
||||
|
||||
msg.Write(name);
|
||||
|
||||
msg.Write(c is AICharacter);
|
||||
msg.Write(c.Info.Gender == Gender.Female);
|
||||
msg.Write((byte)c.Info.HeadSpriteId);
|
||||
msg.Write(c.Info.Job == null ? "" : c.Info.Job.Name);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void AssignJobs(List<Client> unassigned)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user