示例#1
0
文件: Gun.cs 项目: OggYiu/GGJ2018
    public void OnBulletHitPosition(Vector3 pos)
    {
        Vector3 explosionPos = pos;

        explosionPos = new Vector3(explosionPos.x, explosionPos.y, -0.001f);
        Collider[] colliders = Physics.OverlapSphere(explosionPos, radius);

        foreach (Collider hit in colliders)
        {
            Rigidbody rb = hit.GetComponent <Rigidbody>();

            if (rb != null)
            {
                //rb.velocity = Vector3.zero;
                //rb.angularVelocity = Vector3.zero;
                rb.AddExplosionForce(power, explosionPos, radius, upward);

                DestroyableObject destroyableObject = rb.GetComponent <DestroyableObject>();
                if (destroyableObject != null)
                {
                    rb.useGravity = true;
                    destroyableObject.StartSelfDestroy();
                    this.gameMgr.OnGotScore(GameUIMgr.GotScoreType.SCORE_10, destroyableObject.gameObject);
                }
                //Debug.Log("hit " + rb.gameObject.name);
            }
        }
    }