public override void onBulletHit(RaycastHit hit) { if (owner == hit.transform.gameObject) { return; } if (hit.transform.gameObject.CompareTag("decoration")) { //Debug.Log ("HADISH INTO " + hit.transform.gameObject.name); if (hitParticle != null) { Instantiate(hitParticle, hit.point, Quaternion.LookRotation(hit.normal)); } Destroy(gameObject, 0.1f); } DamagebleObject obj = hit.transform.gameObject.GetComponent <DamagebleObject>(); Pawn pawn = (Pawn)obj; if (pawn != null) { if (pawn.team == owner.GetComponent <Pawn>().team) { pawn.Heal(damage.Damage, owner); Destroy(gameObject, 0.1f); return; } //Debug.Log ("HADISH INTO SOME PLAYER! " + hit.transform.gameObject.name); } if (obj != null) { obj.Damage(damage, owner); //Debug.Log ("HADISH INTO SOME PLAYER! " + hit.transform.gameObject.name); Destroy(gameObject, 0.1f); } }
public virtual void onBulletHit(RaycastHit hit) { if (owner == hit.transform.gameObject || used) { return; } used = true; damage.pushDirection = mTransform.forward; damage.hitPosition = hit.point; DamagebleObject obj = hit.transform.gameObject.GetComponent <DamagebleObject>(); if (obj != null) { obj.Damage(damage, owner); //Debug.Log ("HADISH INTO SOME PLAYER! " + hit.transform.gameObject.name); Destroy(gameObject, 0.1f); } if (hitParticle != null) { Instantiate(hitParticle, hit.point, Quaternion.LookRotation(hit.normal)); } Destroy(gameObject, 0.1f); }
void ExplosionDamage() { Collider[] hitColliders = Physics.OverlapSphere(transform.position, splashRadius); for (int i = 0; i < hitColliders.Length; i++) { //Debug.Log(hitColliders[i]); DamagebleObject obj = hitColliders[i].GetComponent <DamagebleObject>(); if (obj != null) { obj.Damage(damage, owner); } } }
void DoSimpleDamage() { Camera maincam = Camera.main; Ray centerRay = maincam.ViewportPointToRay(new Vector3(.5f, 0.5f, 1f)); RaycastHit hitInfo; Vector3 targetpoint; if (Physics.Raycast(centerRay, out hitInfo, weaponRange)) { DamagebleObject target = (DamagebleObject)hitInfo.collider.GetComponent(typeof(DamagebleObject)); if (target != null) { target.Damage(new BaseDamage(damageAmount), owner.gameObject); } } }
public virtual void onBulletHit(RaycastHit hit) { if (owner == hit.transform.gameObject) { return; } if (hit.transform.gameObject.CompareTag("decoration")) { //Debug.Log ("HADISH INTO " + hit.transform.gameObject.name); isReadyToHit = false; } DamagebleObject obj = hit.transform.gameObject.GetComponent <DamagebleObject>(); if (obj != null) { obj.Damage(damage, owner); //Debug.Log ("HADISH INTO SOME PLAYER! " + hit.transform.gameObject.name); isReadyToHit = false; } }
private soundControl sControl; //контроллер звука #endregion Fields #region Methods public virtual void onBulletHit(RaycastHit hit) { if (owner == hit.transform.gameObject||used) { return; } used = true; damage.pushDirection = mTransform.forward; damage.hitPosition = hit.point; DamagebleObject obj = hit.transform.gameObject.GetComponent <DamagebleObject>(); if (obj != null) { obj.Damage(damage,owner); shootTarget= obj; //Debug.Log ("HADISH INTO SOME PLAYER! " + hit.transform.gameObject.name); Destroy (gameObject, 0.1f); } if(hitParticle!=null){ Instantiate(hitParticle, hit.point, Quaternion.LookRotation(hit.normal)); } Destroy (gameObject, 0.1f); }