44 lines
1.8 KiB
C#
44 lines
1.8 KiB
C#
using Barotrauma.Networking;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
partial class Traitor
|
|
{
|
|
public readonly Character Character;
|
|
|
|
public string Role { get; }
|
|
public TraitorMission Mission { get; }
|
|
public Objective CurrentObjective => Mission.GetCurrentObjective(this);
|
|
|
|
public Traitor(TraitorMission mission, string role, Character character)
|
|
{
|
|
Mission = mission;
|
|
Role = role;
|
|
Character = character;
|
|
Character.IsTraitor = true;
|
|
GameMain.NetworkMember.CreateEntityEvent(Character, new Character.CharacterStatusEventData());
|
|
}
|
|
|
|
public delegate void MessageSender(string message);
|
|
|
|
public void SendChatMessage(string serverText, Identifier iconIdentifier)
|
|
{
|
|
Client traitorClient = GameMain.Server.ConnectedClients.Find(c => c.Character == Character);
|
|
GameMain.Server.SendTraitorMessage(traitorClient, serverText, iconIdentifier, TraitorMessageType.Server);
|
|
}
|
|
|
|
public void SendChatMessageBox(string serverText, Identifier iconIdentifier)
|
|
{
|
|
Client traitorClient = GameMain.Server.ConnectedClients.Find(c => c.Character == Character);
|
|
GameMain.Server.SendTraitorMessage(traitorClient, serverText, iconIdentifier, TraitorMessageType.ServerMessageBox);
|
|
}
|
|
|
|
public void UpdateCurrentObjective(string objectiveText, Identifier iconIdentifier)
|
|
{
|
|
Client traitorClient = GameMain.Server.ConnectedClients.Find(c => c.Character == Character);
|
|
Character.TraitorCurrentObjective = objectiveText;
|
|
GameMain.Server.SendTraitorMessage(traitorClient, Character.TraitorCurrentObjective.Value, iconIdentifier, TraitorMessageType.Objective);
|
|
}
|
|
}
|
|
}
|