Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 3.23 KB

File metadata and controls

66 lines (52 loc) · 3.23 KB

RpgAttackController

Что это: универсальный runtime-компонент для запуска melee, ranged и area атак по RpgAttackDefinition.

Навигация: ← К RPG


Поддерживаемые режимы

Режим Как работает
Direct Raycast / SphereCast / CircleCast по направлению вперёд
Area OverlapSphere / OverlapCircle в точке атаки
Projectile Спавнит RpgProjectile с тем же definition

Основной API

  • UsePrimaryAttack() — запускает первую атаку из массива.
  • UsePrimaryPreset() — запускает первый preset из массива.
  • TryUseAttack(string attackId, out string failReason) — запуск по id.
  • TryUseAttack(int attackIndex, out string failReason) — запуск по индексу.
  • TryUsePreset(string presetId, out string failReason) — запуск preset по id.
  • TryUsePreset(int presetIndex, out string failReason) — запуск preset по индексу.
  • TryUsePreset(RpgAttackPreset preset, out string failReason) — запуск конкретного preset asset.
  • TryUsePreset(RpgAttackPreset preset, GameObject forcedTarget, out string failReason) — запуск preset по уже выбранной цели, удобно для AI/NPC brain.
  • CanUseAttack(string attackId, out string failReason) — проверка cooldown/lock.
  • CanUsePreset(RpgAttackPreset preset, out string failReason) — проверка готовности preset без ручного поиска attack id.
  • GetRemainingCooldown(string attackId) — остаток кулдауна.

Built-in input

  • По умолчанию включён.
  • Primary attack по умолчанию висит на ЛКМ.
  • Binding можно переключить между MouseButton и KeyCode.
  • Для NPC/AI рекомендуется выключать Enable Built-in Input.

Что важно

  • Источником статов должен быть RpgCharacter.
  • Для урона учитывается GetOutgoingDamageMultiplier().
  • Дополнительные эффекты берутся из RpgAttackDefinition.Effects.
  • Для AI/skills/spells можно использовать RpgAttackPreset и RpgTargetSelector.
  • Для новых проектов это основной replacement для AttackExecution и AdvancedAttackCollider.

Дополнительные поля

Поле Описание
EnableBuiltInInput Enable Built In Input.
IsCasting Is Casting.
_attacks Attacks.
_combatantSource Combatant Source.
_onAttackFailed On Attack Failed.
_onAttackResolved On Attack Resolved.
_onAttackStarted On Attack Started.
_onPresetUsed On Preset Used.
_onTargetResolved On Target Resolved.
_origin Origin.
_presets Presets.
_primaryAttackBinding Primary Attack Binding.
_profileSource Profile Source.
_projectileSpawnPoint Projectile Spawn Point.
_targetSelector Target Selector.
true True.