using ET.EventType; using System; using System.Collections.Generic; namespace ET { public class DamageEventEvent : AEvent { public override async ETTask Run(DamageEvent args) { try { Unit attacker = args.attacker; CopyBattle battleBase = BattleMgrCompnent.Instance.GetBattle(attacker); if (battleBase == null) { Log.Error($"battleBase is null"); return; } if (battleBase.battleType == BattleType.FamilyBoss) { ChangeDamageData(battleBase,attacker, args.damage); } } catch (Exception e) { Log.Error(e); } await ETTask.CompletedTask; } public static void ChangeDamageData( CopyBattle battleBase, Unit unit, int damage) { BossDamageMap map = battleBase.bossDamageMap; map.TotalDamage += damage; for (int i = map.DamageList.Count - 1; i >= 0; i--) { BossDamagePerMemberMap info = map.DamageList[i]; if (info.Id == unit.Id) { info.Damage += damage; return; } } } } }