protected override void DoWeaponActions() { //Get Projectile GameObject hookObject = ObjectPool.Instance.GetObject(PoolObjectType.LightningProjectile); if (hookObject) { //Initialize LightningProjectile currentHook = hookObject.GetComponent <LightningProjectile>(); ProjectileProperties newProperties = new ProjectileProperties(projectileProperties); currentHook.Init(projectileProperties, muzzleTransform); currentHook.CheckForTargets(); animator.SetTrigger("Shoot"); } }
private void SpawnNextProjectile() { LightningGun.ProjectileProperties newProperties = new LightningGun.ProjectileProperties(projectileProperties); newProperties.maxDistance = projectileProperties.maxDistancePerSubChain; //Spawn next hook GameObject nextHookObject = ObjectPool.Instance.GetObject(PoolObjectType.LightningProjectile); if (nextHookObject) { //Initialize LightningProjectile nextProjectile = nextHookObject.GetComponent <LightningProjectile>(); nextProjectile.Init(newProperties, transform, enemyCount, ignoreTargets); if (!nextProjectile.CheckForTargets()) { nextProjectile.ResetToDefaults(); } } }