AI_ZombieGirl.OnTriggerEnter C# (CSharp) Method

OnTriggerEnter() private method

private OnTriggerEnter ( Collider _other ) : void
_other Collider
return void
    void OnTriggerEnter ( Collider _other ) {
        DamageInfo dmgInfo = null;
        if ( _other.gameObject.layer == Layer.melee_player ) {
            Transform parent = _other.transform.parent;
            DebugHelper.Assert( parent, "melee collider's parent is null" );
            if ( parent == null ) {
                return;
            }
            dmgInfo = parent.GetComponent<DamageInfo>();

            // show the melee hit effect
            if ( fxHitMelee != null ) {
                fxHitMelee.transform.position = _other.transform.position;
                fxHitMelee.transform.rotation = _other.transform.rotation;
                fxHitMelee.particleEmitter.Emit();
            }
        }
        else if ( _other.gameObject.layer == Layer.bullet_player ) {
            BulletInfo bulletInfo = _other.GetComponent<BulletInfo>();
            dmgInfo = bulletInfo.ownerDamageInfo;

            // show the bullet hit effect
            if ( fxHitBullet != null ) {
                fxHitBullet.transform.position = _other.transform.position;
                fxHitBullet.transform.rotation = _other.transform.rotation;
                fxHitBullet.particleEmitter.Emit();
            }
        }
        else {
            return;
        }

        // if we don't get damage info, just return
        DebugHelper.Assert( dmgInfo, "can't find damage info for given layer" );
        if ( dmgInfo == null ) {
            return;
        }

        DamageRule.Instance().CalculateDamage( this.zombieInfo, dmgInfo );
    }
}