Exemple #1
0
        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);
        }
Exemple #2
0
        public Aggroable(Actor actor, ITeamable teamable = default) : base(actor)
        {
            var helper = TriggerUtility.CreateTrigger <SphereCollider>(actor, TriggerName);

            _triggerLogic = new AttackTargetTrigger <SphereCollider>(Actor, helper, teamable);
        }