refactor(net): own live session routing
This commit is contained in:
parent
707e606e35
commit
961bdd07b7
12 changed files with 1645 additions and 543 deletions
|
|
@ -51,16 +51,34 @@ public sealed class CombatChatTranslator : IDisposable
|
|||
|
||||
private bool _disposed;
|
||||
|
||||
public CombatChatTranslator(CombatState combat, ChatLog chat)
|
||||
public CombatChatTranslator(
|
||||
CombatState combat,
|
||||
ChatLog chat,
|
||||
Func<bool>? accepting = null)
|
||||
{
|
||||
_combat = combat ?? throw new ArgumentNullException(nameof(combat));
|
||||
_chat = chat ?? throw new ArgumentNullException(nameof(chat));
|
||||
|
||||
_onDealt = HandleDamageDealt;
|
||||
_onTaken = HandleDamageTaken;
|
||||
_onMissed = HandleMissedOutgoing;
|
||||
_onEvaded = HandleEvadedIncoming;
|
||||
_onKill = HandleKillLanded;
|
||||
_onDealt = value =>
|
||||
{
|
||||
if (accepting?.Invoke() != false) HandleDamageDealt(value);
|
||||
};
|
||||
_onTaken = value =>
|
||||
{
|
||||
if (accepting?.Invoke() != false) HandleDamageTaken(value);
|
||||
};
|
||||
_onMissed = value =>
|
||||
{
|
||||
if (accepting?.Invoke() != false) HandleMissedOutgoing(value);
|
||||
};
|
||||
_onEvaded = value =>
|
||||
{
|
||||
if (accepting?.Invoke() != false) HandleEvadedIncoming(value);
|
||||
};
|
||||
_onKill = (name, guid) =>
|
||||
{
|
||||
if (accepting?.Invoke() != false) HandleKillLanded(name, guid);
|
||||
};
|
||||
|
||||
_combat.DamageDealtAccepted += _onDealt;
|
||||
_combat.DamageTaken += _onTaken;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue