예제 #1
0
 void InputUpdate()
 {
     InventoryUpdate();
     verticalInput   = 0f;
     horizontalInput = 0f;
     mouseyAxis      = Mathf.Clamp(mouseyAxis, -80f, 80f);
     if (!blockMovement)
     {
         if (KeepInput.Key("Forward"))
         {
             verticalInput += 1f;
         }
         if (KeepInput.Key("Backwards"))
         {
             verticalInput -= 1f;
         }
         if (KeepInput.Key("Strafe Left"))
         {
             horizontalInput -= 1f;
         }
         if (KeepInput.Key("Strafe Right"))
         {
             horizontalInput += 1f;
         }
         if (KeepInput.KeyDown("Jump") && IsGrounded)
         {
             jump = true;
         }
         mousexAxis = Input.GetAxis("Mouse X") * Options.mouseSensitivity * Time.deltaTime;
     }
 }
예제 #2
0
 void InventoryUpdate()
 {
     if (KeepInput.KeyDown("Choose Item"))
     {
         CanvasControl.Global.RefreshInventory();
     }
     if (KeepInput.KeyUp("Choose Item"))
     {
         if (playerInventory.inventoryItems.Count > 0)
         {
             TakeItemToHand(playerInventory.inventoryItems[CanvasControl.Global.SelectedItem]);
         }
     }
     blockMovement = playerInventory.inventoryItems.Count > 0 && KeepInput.Key("Choose Item");
 }
예제 #3
0
 private void Update()
 {
     if (Player.Global.blockMovement)
     {
         if (Player.Global.playerInventory.inventoryItems.Count == 0)
         {
             InventoryOff();
             return;
         }
         InventoryOn();
         inventoryItemScroll.value += Input.GetAxis("Mouse X") / 8f;
         RectTransform tTrans = inventoryItemTransform.GetComponent <RectTransform>();
         if (tTrans.rect.width < 1f)
         {
             SelectedItem = 0;
         }
         else
         {
             Vector2[] ranges = new Vector2[Player.Global.playerInventory.inventoryItems.Count];
             for (int i = 0; i < ranges.Length; i++)
             {
                 if (i == 0)
                 {
                     ranges[i] = new Vector2(30f, -30f);
                 }
                 else
                 {
                     ranges[i] = new Vector2(ranges[i - 1].y, ranges[i].x - 60f);
                 }
                 if (inventoryItemTransform.localPosition.x > ranges[i].y && inventoryItemTransform.localPosition.x < ranges[i].x)
                 {
                     SelectedItem = i;
                     break;
                 }
             }
         }
         if (KeepInput.KeyDown("Use Item"))
         {
             Player.Global.UseItem(Utilities.PlayerItems[SelectedItem]);
             RefreshInventory();
         }
     }
     else
     {
         InventoryOff();
     }
 }
예제 #4
0
    void CameraUpdate()
    {
        while (blockMovement)
        {
            blockMovement = true;
        }
        //Naujas komentaras  2
        //Papildomas komentaras
        if (!blockMovement)
        {
            GameObject lookingAtObject = null;
            RaycastHit hit;
            Ray        ray = myCamera.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));
            if (Physics.Raycast(ray, out hit, lookRange))
            {
                lookingAtObject = hit.collider.gameObject;
            }
            if (CurrentPickup != null)
            {
                if (KeepInput.KeyDown("Pick Item"))
                {
                    PickupPickup(CurrentPickup);
                    CurrentPickup = null;
                }
                if (KeepInput.KeyDown("Use Item"))
                {
                    CanvasControl.ConsumedItem(CurrentPickup.pickupItem);
                    if (CurrentPickup.pickupItem.UseItem())
                    {
                        Destroy(CurrentPickup.gameObject, Time.deltaTime);
                    }
                }
                if (KeepInput.KeyDown("Throw"))
                {
                    ThrowCarryItem();
                }
            }
            if (lookingAtObject != null)
            {
                Interactable findInteractable = lookingAtObject.GetComponent <Interactable>();
                if (findInteractable)
                {
                    string information = string.Empty;
                    if (findInteractable.canBeUsed)
                    {
                        information = KeepInput.ReturnKeyName("Interact") + " Interact";
                        if (KeepInput.KeyDown("Interact"))
                        {
                            findInteractable.Use();
                            return;
                        }
                    }
                    if (findInteractable is Pickup)
                    {
                        Pickup pickupReference = findInteractable as Pickup;
                        if (pickupReference.takeToInventory)
                        {
                            information += string.Format("\n{0} Take {1}", KeepInput.ReturnKeyName("Interact"), pickupReference.pickupItem.itemName);
                            if (KeepInput.KeyDown("Interact"))
                            {
                                PickupPickup(pickupReference);
                            }
                        }
                        information += string.Format("\n{0} Carry {1}", KeepInput.ReturnKeyName("Pick Item"), pickupReference.pickupItem.itemName);
                        if (KeepInput.KeyDown("Pick Item"))
                        {
                            CurrentPickup = pickupReference;
                        }
                    }
                    crosshairText.Text(information);
                }
                else
                {
                    crosshairText.Text(string.Empty);
                }
            }
            else
            {
                crosshairText.Text(string.Empty);
            }
        }
        else
        {
            crosshairText.Text(string.Empty);
        }
        if ((myBody.velocity.x != 0f || myBody.velocity.z != 0f) && IsGrounded)
        {
            myCamera.transform.localPosition = Vector3.Lerp(Vector3.up * 1.7f, Vector3.up * 1.9f, Mathf.Abs(Mathf.Sin(Time.time * 5f)));
        }
        else
        {
            myCamera.transform.localPosition = Vector3.Lerp(myCamera.transform.localPosition, Vector3.up * 1.8f, Time.deltaTime);
        }
        Quaternion handRotateTarget = carryHandRotation;

        if (!blockMovement)
        {
            handRotateTarget = Quaternion.Euler(carryHandRotation.eulerAngles + new Vector3(Input.GetAxis("Mouse Y") * 5f, 0f, Input.GetAxis("Mouse X") * 5f));
        }
        carryPoint.transform.localRotation = Quaternion.Slerp(carryPoint.transform.localRotation, handRotateTarget, Time.deltaTime * 5f);
    }