Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
            }
        }
    }
Esempio n. 5
0
    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;
        }
    }
Esempio n. 6
0
    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);
    }