コード例 #1
0
    void Fire()
    {
        if (isFireable() && GameInput.GetFire(pCode))
        {
            Vector3            shootDirection = aimPoint.transform.position - collisionRange.transform.position;
            GameObject         projectile     = Instantiate(projectilePrefab, aimPoint.transform);
            PlayerProjectile   pp             = projectile.transform.gameObject.GetComponent <PlayerProjectile>();
            ProjectileWhoShoot who            = projectile.transform.GetComponent <ProjectileWhoShoot>();
            who.who = transform.gameObject;

            if (shootDirection.x == 0)
            {
                shootDirection.x += shotDirections[shotSeq];
            }
            else if (shootDirection.y == 0)
            {
                shootDirection.y += shotDirections[shotSeq];
            }

            shotSeq++;
            shotSeq = shotSeq % shotDirections.Length;

            pp.direction = shootDirection.normalized;

            if (normalShotSFX != null && sfx != null)
            {
                // LockOn Sound Effect
                sfx.PlayOneShot(normalShotSFX);
            }

            projectile.transform.SetParent(null);
            fireTimer = 0f;
        }
    }
コード例 #2
0
    private void CollideWithEnemy(Collision col)
    {
        if (col.transform.CompareTag("Target"))
        {
            EnemyHealth eh = col.transform.GetComponent <EnemyHealth>();
            if (eh != null)
            {
                eh.Damage(dmg);

                if (eh.curHP <= 0)
                {
                    ProjectileWhoShoot who = transform.GetComponent <ProjectileWhoShoot>();
                    PlayerScore        ps  = who.who.GetComponent <PlayerScore>();
                    ps.AddScore(100);
                }
            }
        }
    }
コード例 #3
0
    void Fire()
    {
        if (IsFireable() && GameInput.GetMissle(pCode))
        {
            if (missileFireSFX != null && sfx != null && lockedEnemies.Count > 0)
            {
                sfx.PlayOneShot(missileFireSFX);
            }

            foreach (GameObject target in lockedEnemies)
            {
                GameObject         missile = Instantiate(missilePrefab, this.transform);
                PlayerMissile      pm      = missile.transform.GetComponent <PlayerMissile>();
                ProjectileWhoShoot who     = missile.transform.GetComponent <ProjectileWhoShoot>();

                pm.SetTarget(target);
                who.who = transform.gameObject;
                missile.transform.SetParent(null);
            }

            lockedEnemies.Clear();
        }
    }