Exemplo n.º 1
0
    /// <summary>
    ///
    /// </summary>
    void Counter()
    {
        TimeToExploit--;

        if (TimeToExploit <= 0)
        {
            GameObject e = Instantiate(explosion, transform.position, Quaternion.identity) as GameObject;
            if (m_Type == ProjectileType.Grenade)
            {
                bl_Blast blast = e.GetComponent <bl_Blast>();
                if (blast != null)
                {
                    blast.isNetwork       = isNetwork;
                    blast.WeaponID        = ID;
                    blast.explosionDamage = damage;
                    blast.AIViewID        = bl_GameManager.m_view;
                    Team t = (AIFrom) ? AITeam : PhotonNetwork.LocalPlayer.GetPlayerTeam();
                    if (AIFrom)
                    {
                        blast.AISetUp(AIViewID, t, BotName);
                    }
                }
            }
            else if (m_Type == ProjectileType.Molotov)
            {
            }
            CancelInvoke("Counter");
            Destroy(gameObject);
        }
    }
Exemplo n.º 2
0
    /// <summary>
    ///
    /// </summary>
    void Counter()
    {
        TimeToExploit--;

        if (TimeToExploit <= 0)
        {
            GameObject e     = Object.Instantiate(explosion, transform.position, Quaternion.identity) as GameObject;
            bl_Blast   blast = e.GetComponent <bl_Blast>();
            if (blast != null)
            {
                blast.isNetwork       = isNetwork;
                blast.WeaponID        = ID;
                blast.WeaponName      = mName;
                blast.explosionDamage = damage;
            }
            CancelInvoke("Counter");
            Destroy(gameObject);
        }
    }
Exemplo n.º 3
0
    /// <summary>
    ///
    /// </summary>
    void OnCollisionEnter(Collision enterObject)
    {
        if (!OnHit)
        {
            return;
        }

        switch (enterObject.transform.tag)
        {
        case "Projectile":
            //return;
            break;

        default:
            Destroy(gameObject, 0);    //GetComponent<Rigidbody>().useGravity = false;
            ContactPoint contact  = enterObject.contacts[0];
            Quaternion   rotation = Quaternion.FromToRotation(Vector3.forward, contact.normal);

            GameObject e = Instantiate(explosion, contact.point, rotation) as GameObject;
            if (m_Type == ProjectileType.Grenade)
            {
                bl_Blast blast = e.GetComponent <bl_Blast>();
                if (blast != null)
                {
                    blast.isNetwork       = isNetwork;
                    blast.WeaponID        = ID;
                    blast.explosionDamage = damage;
                }
            }
            else if (m_Type == ProjectileType.Molotov)
            {
                bl_DamageArea da = e.GetComponent <bl_DamageArea>();
                da.SetInfo(AIFrom ? BotName : PhotonNetwork.NickName, isNetwork);
            }
            if (enterObject.rigidbody)
            {
                enterObject.rigidbody.AddForce(transform.forward * impactForce, ForceMode.Impulse);
            }
            break;
        }
    }
Exemplo n.º 4
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="enterObject"></param>
    void OnCollisionEnter(Collision enterObject)
    {
        // things to add:
        // maybe a distance or time check to see if grenade is far enough away to arm before exploding
        // ... maybe a non armed grenade will bounce then explode
        // similar to direct noob tube shots in CoD
        if (!OnHit)
        {
            return;
        }
        switch (enterObject.transform.tag)
        {
        case "Projectile":
            //return;
            break;

        default:
            Destroy(gameObject, 0);                                                 //GetComponent<Rigidbody>().useGravity = false;
            ContactPoint contact  = enterObject.contacts[0];
            Quaternion   rotation = gameObject.GetComponent <Rigidbody>().rotation; //Quaternion.FromToRotation(Vector3.up, contact.normal);

            GameObject e     = Object.Instantiate(explosion, contact.point, rotation) as GameObject;
            bl_Blast   blast = e.GetComponent <bl_Blast>();
            if (blast != null)
            {
                blast.isNetwork       = isNetwork;
                blast.WeaponID        = ID;
                blast.WeaponName      = mName;
                blast.explosionDamage = damage;
            }
            if (enterObject.rigidbody)
            {
                enterObject.rigidbody.AddForce(transform.forward * impactForce, ForceMode.Impulse);
            }
            break;
        }
    }