Example #1
0
    public override void OnGrab(BlasterGrappler grappler)
    {
        // base.OnGrab(grappler);

        m_delegateTargetPickupPosition = rb.transform.position;
        parentFSM.TransitionTo(parentFSM.ragdollState);
        parentFSM.ragdollState.OnGrab();
    }
Example #2
0
    public virtual void OnGrab(BlasterGrappler grappler)
    {
        isGrabbed        = true;
        m_pickupPosition = transform.position;
        rb.useGravity    = false;

        onGrab.Invoke();
    }
Example #3
0
    public virtual void OnRelease(BlasterGrappler grappler)
    {
        isGrabbed = false;

        // This caused an exception with limb grabbing, not sure why
        if (rb != null)
        {
            rb.useGravity = true;
        }

        onRelease.Invoke();
    }
Example #4
0
    // TODO:
    // - Alt fire mode when the rear handle is held
    // - How to avoid triggering damage multiple times when multiple limbs are hit?
    void Start()
    {
        parentHand  = GetComponentInParent <Hand>();
        grappler    = GetComponent <BlasterGrappler>();
        audioSource = GetComponent <AudioSource>();

        // Primary hand SteamVR actions
        fireAction.AddOnStateDownListener(FireProjectile, parentHand.handType);
        fireAction.AddOnStateUpListener(PrimaryFireStateUp, parentHand.handType);
        //fireAction.AddOnUpdateListener(PrimaryFireStateUpdate, parentHand.otherHand.handType);

        // Off-hand SteamVR actions
        fireAction.AddOnStateDownListener(XR_SetNextPrimaryFireMode, parentHand.otherHand.handType);

        lastFireModeSwitch = Time.time;
        fireModes[0].OnFireModeSelected();
        UpdateBlasterGlowMaterial();
    }
Example #5
0
 public override void OnRelease(BlasterGrappler grappler)
 {
     //base.OnRelease(grappler);
     parentFSM.ragdollState.OnRelease();
 }