Exemplo n.º 1
0
    void OnTriggerExit(Collider collider)
    {
        if (state != SnapBaseState.Closed || targetObj == null || (targetObj != null && targetObj.GetComponent <SnapTarget>().state == SnapTargetState.Locked))
        {
            return;
        }

        if (collider.gameObject != targetObj)
        {
            return;
        }

        SnapTarget target = targetObj.GetComponent <SnapTarget> ();

        if (target == null || target.targetType != targetType)
        {
            return;
        }

        target.disconnect();

        targetObj = null;

        state = SnapBaseState.Open;
    }
Exemplo n.º 2
0
    void OnTriggerStay(Collider collider)
    {
        // check type of collision object

        if (state != SnapBaseState.Open)
        {
            return;
        }

        SnapTarget target = collider.gameObject.GetComponent <SnapTarget> ();

        if (target == null || target.targetType != targetType)
        {
            return;
        }

        if (!target.isFree())
        {
            return;
        }

        if (checkDependency())
        {
            targetObj = collider.gameObject;
            target.snapTo(position);
            state = SnapBaseState.Closed;
        }
    }