public void OnTriggerExit(Collider other)
    {
        if (!IsTypeAllowed(other))
        {
            return;
        }
        CustomDispatcher component = other.gameObject.GetComponent <CustomDispatcher>();

        if (!(component != null) || component.Dispatcher != Dispatcher)
        {
            return;
        }
        Prop componentInChildren = other.gameObject.GetComponentInChildren <Prop>();

        if (componentInChildren != null)
        {
            InteractiveZonePropEventHandler component2 = componentInChildren.GetComponent <InteractiveZonePropEventHandler>();
            if (component2 != null)
            {
                component2.UnEquipProp();
            }
        }
        Dispatcher.DispatchEvent(new InteractionZoneEvents.InteractionZoneEvent(ZoneId, other, base.gameObject, ZoneInteractionStateChange.ExitZone));
        UnityEngine.Object.Destroy(component);
        CollidersInZone.Remove(other);
    }