v1.5.7.0 (Summer Update)

This commit is contained in:
Regalis11
2024-06-18 16:49:51 +03:00
parent 4a63dacbce
commit 230d1b6e78
263 changed files with 7792 additions and 2845 deletions
@@ -39,15 +39,24 @@ namespace Barotrauma.Networking
}
public OrderChatMessage(Order order, string text, Character targetCharacter, Character sender, bool isNewOrder = true)
: base(sender?.Name, text, ChatMessageType.Order, sender, GameMain.NetworkMember.ConnectedClients.Find(c => c.Character == sender))
public OrderChatMessage(Order order, string text, Character targetCharacter, Entity sender, bool isNewOrder = true)
: base(NameFromEntityOrNull(sender), text, ChatMessageType.Order, sender, GameMain.NetworkMember.ConnectedClients.Find(c => c.Character == sender))
{
Order = order;
TargetCharacter = targetCharacter;
IsNewOrder = isNewOrder;
}
public static void WriteOrder(IWriteMessage msg, Order order, Character targetCharacter, bool isNewOrder)
public static string NameFromEntityOrNull(Entity entity)
=> entity switch
{
null => null,
Character character => character.Name,
Item it => it.Name,
_ => throw new ArgumentException("Entity is not a character or item", nameof(entity))
};
public static void WriteOrder(IWriteMessage msg, Order order, Entity targetCharacter, bool isNewOrder)
{
msg.WriteIdentifier(order.Prefab.Identifier);
msg.WriteUInt16(targetCharacter == null ? (UInt16)0 : targetCharacter.ID);