public Attackerable(Actor actor, ITeamable teamable = default) : base(actor) { _teamable = teamable; var helper = TriggerUtility.CreateTrigger <SphereCollider>(Actor, AttackerableTrigger); _trigger = new AttackTargetTrigger <SphereCollider>(Actor, helper, _teamable); _attackCooldown = new DurationTimer(0f, true); _damage = new ModifiedValueBoilerplate <IAttackDamageModifier>(modifier => modifier.AttackDamage); _range = new ModifiedValueBoilerplate <IAttackRangeModifier>(modifier => modifier.AttackRange); _attacksPerInterval = new ModifiedValueBoilerplate <IAttacksPerIntervalModifier>(modifier => modifier.AttacksPerInterval); _interval = new ModifiedValueBoilerplate <IAttackIntervalModifier>(modifier => modifier.AttackInterval); }
public Aggroable(Actor actor, ITeamable teamable = default) : base(actor) { var helper = TriggerUtility.CreateTrigger <SphereCollider>(actor, TriggerName); _triggerLogic = new AttackTargetTrigger <SphereCollider>(Actor, helper, teamable); }