// Start is called before the first frame update
 private void Start()
 {
     interactable = GetComponent <XRSimpleInteractable>();
     rigidbody    = GetComponent <Rigidbody>();
     isGrabbing   = false;
     applyFix     = true;
     text.text    = "Fix applied";
 }
Пример #2
0
 internal static XRSimpleInteractable CreateSimpleInteractable()
 {
     GameObject interactableGO = new GameObject("Simple Interactable");
     CreateGOSphereCollider(interactableGO, false);
     XRSimpleInteractable interactable = interactableGO.AddComponent<XRSimpleInteractable>();
     Rigidbody rigidBody = interactableGO.AddComponent<Rigidbody>();
     rigidBody.useGravity = false;
     rigidBody.isKinematic = true;
     return interactable;
 }
Пример #3
0
    protected override void OnSelectEntered(SelectEnterEventArgs args)
    {
        // Once select has occured, scale object to size
        var temp = args.interactable;

        if (temp is TwoHandGrabInteractable)
        {
            two = temp.GetComponent <TwoHandGrabInteractable>();
            two.canTakeByOther = true;

            if (temp.GetComponentInChildren <XRSimpleInteractable>())
            {
                simple         = temp.GetComponentInChildren <XRSimpleInteractable>();
                simple.enabled = false;
            }
        }
        else if (temp is XRItemGrabInteractable)
        {
            item = temp.GetComponent <XRItemGrabInteractable>();
            if (item.GetComponent <DamageSystem>())
            {
                ds         = item.GetComponent <DamageSystem>();
                ds.enabled = false;
            }
            item.canTakeByOther = true;
        }

        if (temp.GetComponentInChildren <XROffsetGrabInteractable>())
        {
            offsetGrab         = temp.GetComponentInChildren <XROffsetGrabInteractable>();
            offsetGrab.enabled = false;
        }
        if (temp.GetComponentInChildren <XRSocketInteractorWithName>())
        {
            socket = temp.GetComponentInChildren <XRSocketInteractorWithName>();
            if (socket.selectTarget)
            {
                var mag = socket.selectTarget.GetComponent <Magazine>();
                player.ammoCount += mag.ammoCount;
                player.SetText(mag.ammoCount, 1);
                Destroy(mag.gameObject);
            }
            socket.showInteractableHoverMeshes = false;
            socket.enabled = false;
        }
        base.OnSelectEntered(args);
        TweenSizeToSocket(temp);
    }
Пример #4
0
    protected override void OnSelectExited(SelectExitEventArgs args)
    {
        // Once the user has grabbed the object, scale to original size
        if (two)
        {
            two.canTakeByOther = false;
            two = null;
            if (simple)
            {
                simple.enabled = true;
                simple         = null;
            }
        }
        else if (item)
        {
            item.canTakeByOther = false;
            if (ds)
            {
                ds.enabled = true;
                ds         = null;
            }
            item = null;
        }

        if (offsetGrab)
        {
            offsetGrab.enabled = true;
            offsetGrab         = null;
        }

        if (socket)
        {
            socket.showInteractableHoverMeshes = true;
            socket.enabled = true;
        }
        base.OnSelectExited(args);
        SetOriginalScale(args.interactable);
    }
 private void Start()
 {
     interactable    = GetComponent <XRSimpleInteractable>();
     climbController = GetComponentInParent <ClimbController>();
     isGrabbing      = false;
 }
Пример #6
0
 // Start is called before the first frame update
 void Start()
 {
     grabInteractable = GetComponent <XRSimpleInteractable>();
     grabInteractable.onSelectEnter.AddListener(Shoot);
 }
Пример #7
0
 private void OnEnable()
 {
     m_target = GetComponent <XRSimpleInteractable>();
     m_target.onSelectEnter.AddListener(HelloWorld);
 }
Пример #8
0
 // Start is called before the first frame update
 void Start()
 {
     interactable = GetComponent <XRSimpleInteractable>();
     interactable.onSelectEnter.AddListener(ActivateButton);
 }
Пример #9
0
 // Start is called before the first frame update
 void Start()
 {
     grabInteractable = GetComponent <XRSimpleInteractable>();
 }