예제 #1
0
 public bool TryStayPickUpedObject()
 {
     pickedUpObj.OnPickStay();
     pickedUpObj = null;
     pickUped    = false;
     return(true);
 }
예제 #2
0
 private bool PickUpObject(IPickUpAble pickedUpObj)
 {
     this.pickedUpObj = pickedUpObj;
     pickedUpObj.OnPickUp();
     pickUped = true;
     return(true);
 }
예제 #3
0
 public bool PickDownPickedUpObject()
 {
     pickedUpObj.OnPickDown();
     pickedUpObj = null;
     pickUped    = false;
     return(true);
 }
예제 #4
0
 public bool OnPickupedObjectClicked()
 {
     if (onPickStatu != null)
     {
         onPickStatu.Invoke(pickedUpObj.Go);
     }
     pickedUpObj.OnPickStay();
     pickedUpObj = null;
     return(true);
 }
예제 #5
0
 private bool PickUpObject(IPickUpAble pickedUpObj)
 {
     if (onPickUp != null)
     {
         onPickUp.Invoke(pickedUpObj.Go);
     }
     this.pickedUpObj = pickedUpObj;
     pickedUpObj.OnPickUp();
     return(true);
 }
예제 #6
0
 public bool PickDownPickedUpObject()
 {
     if (onPickDown != null)
     {
         onPickDown.Invoke(pickedUpObj.Go);
     }
     pickedUpObj.OnPickDown();
     pickedUpObj = null;
     return(true);
 }
예제 #7
0
 public bool TryPickUpObject()
 {
     ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     if (Physics.Raycast(ray, out hit, 1 << LayerConst.elementLayer))
     {
         pickedUpObj = hit.collider.GetComponent <IPickUpAble>();
         if (pickedUpObj != null)
         {
             PickUpObject(pickedUpObj);
             return(true);
         }
     }
     return(false);
 }
    // Update is called once per frame
    private void Update()
    {
        if (GvrControllerInput.ClickButtonUp)
        {
            GvrBasePointer pointer = GvrPointerInputModule.Pointer;
            UnityEngine.EventSystems.RaycastResult currentRaycastResult = pointer.CurrentRaycastResult;
            GameObject  clickedObject      = currentRaycastResult.gameObject;
            IPickUpAble interactableObject = clickedObject != null?clickedObject.GetComponent <IPickUpAble>() : null;

            if (interactableObject != null)
            {
                interactableObject.pickUp(this.holdingSpot);
            }
        }
    }
예제 #9
0
 public bool TryPickUpObject(out IPickUpAble obj)
 {
     ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     if (Physics.Raycast(ray, out hit, LayerMask.GetMask(LayerConst.itemLayer)))
     {
         pickedUpObj = hit.collider.GetComponent <IPickUpAble>();
         if (pickedUpObj != null)
         {
             PickUpObject(pickedUpObj);
             obj = pickedUpObj;
             return(true);
         }
     }
     obj = null;
     return(false);
 }