示例#1
0
    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);
         }
     }
 }
示例#5
0
    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;
    }