public override void DoInitialProjectileSubAbility(ProjectileAbility pa) { GameObject tempProjectile; tempProjectile = ProjectileFactory.ProduceProjectile(projectilePrefab, pa.ability, pa.sources[0].position, pa.quatProjectileFireAngle); pa.projectilesFired++; EndProjectileSubAbility(); }
public override void DoProjectileSubAbility(ProjectileAbility pa) { //Fireable and my projectile factory gauruntees that projectile will have a rigidbody. ProjectileFactory is hooked up to my pooler which duplicates the functionality of instantiate, //but insures that we wont be endlessly instantiating objects that already exist in deactivated states. projectileInstance = ProjectileFactory.ProduceProjectile(projectilePrefab.gameObject, pa.ability, pa.sources[0].position, pa.quatProjectileFireAngle); projectileInstance.GetComponent <Rigidbody2D>().AddForce(projectileInstance.transform.right * pa.power, ForceMode2D.Impulse); pa.projectilesFired++; EndProjectileSubAbility(); }
public override void DoInitialProjectileSubAbility(ProjectileAbility pa) { if (curProjectile == null) { curProjectile = ProjectileFactory.ProduceProjectile(projectilePrefab, pa.ability); } curProjectile.transform.position = pa.sources[0].position; curProjectile.transform.rotation = pa.quatProjectileFireAngle; curProjectile.SetActive(true); pa.projectilesFired++; }
public void Update() { if (deathTime <= Time.time) { Debug.Log(fireable); Debug.Log(fireable.sourceAbility); ProjectileFactory.ProduceProjectile(objectToTurnOn, fireable.sourceAbility, transform.position); if (turnOffSelfOnTime) { gameObject.SetActive(false); } } }
public void OnTriggerEnter2D(Collider2D col) { if (((triggerOnEnterMask >> col.gameObject.layer)) == 1) { Debug.Log(fireable); Debug.Log(fireable.sourceAbility); ProjectileFactory.ProduceProjectile(objectToTurnOn, fireable.sourceAbility, transform.position); } if (turnOffSelfOnContact) { gameObject.SetActive(false); } }
public override void DoInitialProjectileSubAbility(ProjectileAbility pa) { reported = 0; if (projectiles.Count == 0) { GameObject tempProjectile; for (int i = 0; i < pa.numberOfProjectiles; i++) { tempProjectile = ProjectileFactory.ProduceProjectile(projectilePrefab.gameObject, pa.ability); subbedProjectile = tempProjectile.GetComponent <EffectOnContact>(); subbedProjectile.SubscribeToObjectsHit(ReceiveObjectsHit); tempProjectile.transform.position = pa.sources[0].position; projectiles.Add(tempProjectile); pa.projectilesFired++; } } ab = pa.ability; }