This repository has been archived by the owner on Aug 14, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
EnemyAttackRanged.cs
ErikOverflow edited this page Apr 8, 2019
·
4 revisions
- (Method-caller) Animator with "AttackRanged" bool parameter
- (Initializer) EnemyHook
- (Augment) EnemyScaleByLevel
- (Targeting) EnemyTargeting
- (Object Pool) ObjectPooler
- ShootProjectile() - Fires a projectile at the current target
- None
- projectileSprite
- damage
- falloffTime - Time before the projectile disappears
- maxPenetrations - Maximum number of enemies this projectile can go through
- projectileSpeed - Speed of projectile at launch
- reloadTime - Time between enemy projectiles
- projectilePrefab - Prefab to be pulled from the ObjectPooler
- layer - Layer that the projectile will be launched from (because the Enemy Projectile layer doesn't interact with the Enemy layer, etc.)
EnemyHook initializes all fields except projectilePrefab and layer (these fields are configured via inspector). Then EnemyScaleByLevel augments the damage.
EnemyTargeting's OnNewTargetAcquired triggers "StartFiring". OnTargetLost triggers "StopFiring". While firing, the AttackRanged anim parameter is triggered every reloadTime seconds, launching a projectile towards EnemyTargeting's current target.
Script Documentation
General Scripts
Generic Character Scripts
Enemy Scripts
Player Scripts
Erik's ongoing laundry list of TODOs that he doesn't want to create issues for