コード例 #1
0
    void Explode()
    {
        gernadeExplosion = Instantiate(explosionEffect, transform.position, transform.rotation);

        Collider [] colliders = Physics.OverlapSphere(transform.position, radius);

        foreach (Collider nearbyObject in colliders)
        {
            ZombieTarget target = nearbyObject.GetComponent <ZombieTarget>();

            if (target != null)
            {
                target.TakeDamage(30);
            }

            EnemyHealthBar stats = nearbyObject.GetComponent <EnemyHealthBar>();

            if (stats != null)
            {
                stats.ChangeHealth(-30);
            }
        }



        Destroy(gameObject);
    }
コード例 #2
0
ファイル: ZombieAttack.cs プロジェクト: OneChance/UNETTEST
 // Use this for initialization
 void Start()
 {
     myTransform = transform;
     zombieRender = GetComponent<Renderer> ();
     targetScript = GetComponent<ZombieTarget> ();
     if (isServer) {
         StartCoroutine (Attack ());
     }
 }
コード例 #3
0
    // Use this for initialization
    void Start()
    {
        myTransform = transform;
        targetScript = GetComponent<ZombieTarget> ();

        // start thread
        if (isServer) {
            StartCoroutine (Attack ());
        }
    }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     // 現在位置とZombieTargetスクリプトをキャッシュ
     myTransform  = transform;
     targetScript = GetComponent <ZombieTarget> ();
     // 自分がサーバーだったらコルーチン実行
     if (isServer)
     {
         StartCoroutine(Attack());
     }
 }
コード例 #5
0
ファイル: GunScript.cs プロジェクト: Eletrax/GameShowcase
    void Shoot()
    {
        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, (fpsCam.transform.forward + UnityEngine.Random.insideUnitSphere * RecoilAmount).normalized, out hit))
        {
            bulletDistance = hit.distance;
            if (bulletDistance <= dropOffStart)
            {
                ZombieTarget target = hit.transform.GetComponent <ZombieTarget>();

                if (target != null)
                {
                    target.TakeDamage(maxDamage);
                }
            }
            if (bulletDistance >= dropOffEnd)
            {
                ZombieTarget target = hit.transform.GetComponent <ZombieTarget>();

                if (target != null)
                {
                    target.TakeDamage(minDamage);
                }
            }
            GameObject impactGO = Instantiate(hitPointGB, hit.point, Quaternion.LookRotation(hit.point));

            Destroy(impactGO, 2f);

            Empty.transform.Rotate(new Vector3(-.3f, 0, 0));



            EnemyHealthBar stats = hit.transform.GetComponent <EnemyHealthBar>();

            if (stats)
            {
                stats.ChangeHealth(-10);
            }
        }
        else
        {
            Destroy(Instantiate(hitPointGB), 2f);
        }
    }
コード例 #6
0
ファイル: SniperShoot.cs プロジェクト: Eletrax/GameShowcase
    void Shoot()
    {
        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, (fpsCam.transform.forward + UnityEngine.Random.insideUnitSphere * RecoilAmount).normalized, out hit, range))
        {
            Instantiate(hitPointGB, hit.point, Quaternion.identity);

            ZombieTarget target = hit.transform.GetComponent <ZombieTarget>();

            if (target != null)
            {
                target.TakeDamage(damage);
            }

            EnemyHealthBar stats = hit.transform.GetComponent <EnemyHealthBar>();

            if (stats)
            {
                stats.ChangeHealth(-50);
            }
        }
    }