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); }
// Use this for initialization void Start() { myTransform = transform; zombieRender = GetComponent<Renderer> (); targetScript = GetComponent<ZombieTarget> (); if (isServer) { StartCoroutine (Attack ()); } }
// Use this for initialization void Start() { myTransform = transform; targetScript = GetComponent<ZombieTarget> (); // start thread if (isServer) { StartCoroutine (Attack ()); } }
// Use this for initialization void Start() { // 現在位置とZombieTargetスクリプトをキャッシュ myTransform = transform; targetScript = GetComponent <ZombieTarget> (); // 自分がサーバーだったらコルーチン実行 if (isServer) { StartCoroutine(Attack()); } }
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); } }
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); } } }