24 lines
913 B
C#

using UnityEngine;
public class DebugBroker : MonoBehaviour
{
EntityEventBroker broker;
private void Awake()
{
broker = GetComponentInParent<EntityEventBroker>();
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}");
}
}