31 lines
No EOL
687 B
C#
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;
|
|
}
|
|
} |