server-master/srcs/WingsAPI.Game/Networking/Broadcasting/FactionBroadcast.cs
2026-02-10 18:21:30 +01:00

31 lines
No EOL
687 B
C#

using WingsEmu.Game.Extensions;
using WingsEmu.Packets.Enums;
namespace WingsEmu.Game.Networking.Broadcasting;
public class FactionBroadcast : IBroadcastRule
{
private readonly FactionType _faction;
private readonly bool _gmAffected;
public FactionBroadcast(FactionType faction, bool gmAffected = false)
{
_faction = faction;
_gmAffected = gmAffected;
}
public bool Match(IClientSession session)
{
if (session == null)
{
return false;
}
if (_gmAffected || !session.IsGameMaster())
{
return session.PlayerEntity.Faction == _faction;
}
return true;
}
}