Пример #1
0
    public void OnRelease(BasicGrabbable releasedObj)
    {
        var viveEventData = releasedObj.grabbedEvent as ViveColliderButtonEventData;

        if (viveEventData == null)
        {
            return;
        }

        switch (viveEventData.hand)
        {
        case HandRole.RightHand:
            if (rightGrabbingSet.Remove(releasedObj.gameObject) && rightGrabbingSet.Count == 0)
            {
                UpdateActivity();
            }
            break;

        case HandRole.LeftHand:
            if (leftGrabbingSet.Remove(releasedObj.gameObject) && leftGrabbingSet.Count == 0)
            {
                UpdateActivity();
            }
            break;
        }
    }
Пример #2
0
    public void OnRelease(BasicGrabbable releasedObj)
    {
        ViveColliderButtonEventData viveEventData;

        if (!releasedObj.grabbedEvent.TryGetViveButtonEventData(out viveEventData))
        {
            return;
        }

        switch (viveEventData.viveRole.ToRole <HandRole>())
        {
        case HandRole.RightHand:
            if (rightGrabbingSet.Remove(releasedObj.gameObject) && rightGrabbingSet.Count == 0)
            {
                UpdateActivity();
            }
            break;

        case HandRole.LeftHand:
            if (leftGrabbingSet.Remove(releasedObj.gameObject) && leftGrabbingSet.Count == 0)
            {
                UpdateActivity();
            }
            break;
        }
    }
    public void OnGrabbed(BasicGrabbable grabbedObj)
    {
        ViveColliderButtonEventData viveEventData;

        if (!grabbedObj.grabbedEvent.TryGetViveButtonEventData(out viveEventData))
        {
            return;
        }
        int currentHand = viveEventData.viveRole.ToRole <HandRole>() == HandRole.RightHand ? 0 : 1;

        if (!GameManager.IsExtinguisherInHand)
        {
            grabbedObj.transform.SetParent(grabbers[currentHand]);
            GameManager.IsExtinguisherInHand = true;
            lastHand = currentHand;
        }
        else
        {
            GameManager.IsExtinguisherInHand = false;
            if (lastHand == currentHand)
            {
                transform.parent = null;
            }
            else
            {
                OnGrabbed(grabbedObj);
            }
        }
    }
Пример #4
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "SWORDGRIP")
     {
         isGripable = true;
         Debug.Log("OnTriggerEnter");
         gripTr     = other.transform;
         grabScript = other.GetComponent <BasicGrabbable>();
         grabScript.onGrabberDrop += Attach;
     }
 }
Пример #5
0
 // Use this for initialization
 void Start()
 {
     num       = Int32.Parse(gameObject.tag[gameObject.tag.Length - 1].ToString());
     script    = GetComponent <BasicGrabbable>();
     showScore = GameObject.Find("ShowScore");
 }
Пример #6
0
 public void OnDropped(BasicGrabbable grabbedObj)
 {
     OnRelease(grabbedObj);
 }
Пример #7
0
 public void OnLetGo(BasicGrabbable releaseObj)
 {
     leftGrabbingSet.Clear();
     rightGrabbingSet.Clear();
     UpdateActivity();
 }