using UnityEngine; public class DebugBroker : MonoBehaviour { EntityEventBroker broker; private void Awake() { broker = GetComponentInParent(); broker.OnIncomingDamage.Subscribe((x) => DebugDamageArgs("OnIncomingDamage", x)); broker.OnIncomingDamageProcessed.Subscribe((x) => DebugDamageArgs("OnIncomingDamageProcessed", x)); broker.OnOutgoingDamage.Subscribe((x) => DebugDamageArgs("OnOutgoingDamage", x)); broker.OnOutgoingDamageProcessed.Subscribe((x) => DebugDamageArgs("OnOutgoingDamageProcessed", x)); } private void DebugDamageArgs(string prefix, DamageArgs args) { Debug.Log($"Broker Debugger || {prefix} ||: {args.user}'s {args.sourceEffect.name} dealing damage to: {args.target} => {args.currentValue}, isCrit? {args.isCrit}, dmgType={args.damageType}, targets hit total ={args.totalTargetsHit}"); } }