49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using ET.EventType;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ET
|
|
{
|
|
public class TreatEventEvent : AEvent<TreatEvent>
|
|
{
|
|
public override async ETTask Run(TreatEvent args)
|
|
{
|
|
try
|
|
{
|
|
Unit attacker = args.attacker;
|
|
if (attacker.teamState == TeamState.Fight)
|
|
{
|
|
CopyBattle battleBase = BattleMgrCompnent.Instance.GetBattle(attacker);
|
|
if (battleBase == null)
|
|
{
|
|
Log.Error($"battleBase is null");
|
|
return;
|
|
}
|
|
if (battleBase.battleType == BattleType.FamilyBoss)
|
|
{
|
|
ChangeTreatData (battleBase,attacker, args.treat);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Log.Error(e);
|
|
}
|
|
await ETTask.CompletedTask;
|
|
}
|
|
public static void ChangeTreatData(CopyBattle battleBase, Unit unit, int treat)
|
|
{
|
|
BossDamageMap map = battleBase.bossDamageMap;
|
|
for (int i = map.DamageList.Count - 1; i >= 0; i--)
|
|
{
|
|
BossDamagePerMemberMap info = map.DamageList[i];
|
|
if (info.Id == unit.Id)
|
|
{
|
|
info.Treat += treat;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|