示例#1
0
    public void AddToSlot(GameObject o)
    {
        if (slotItem.Value)
        {
            var oldItem = slotItem.Value;
            var oldRb   = slotItemRb;
            oldItem.transform.position = new Vector3(0, 5, 0);
            oldRb.isKinematic          = false;
            ReleaseSlot();
        }

        slotItem.SetValue(o);
        slotItemRb             = o.GetComponent <Rigidbody> ();
        slotItemRb.isKinematic = true;

        slotItemRb.transform.DOScale(Vector3.one / 2, 0.3f);
        slotItemRb.transform.position = transform.position;
    }
示例#2
0
    void Update()
    {
        var mx = Input.mousePosition.x;
        var my = cam.pixelHeight - Input.mousePosition.y; //for perspective cam
        var mz = cam.nearClipPlane;

        if (cam.orthographic) // for ortho
        {
            my = Input.mousePosition.y;
            mz = 0;
        }

        var screenPoint = cam.ScreenToWorldPoint(new Vector3(mx, my, mz));

        mouseCursorWorld.SetValue(screenPoint);
        mousePositionCanvas.SetValue(Input.mousePosition);

        mouseRay = cam.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(mouseRay, out hit, Mathf.Infinity, layerHit))
        {
            if (hitPoint)
            {
                hitPoint.SetValue(hit.point);
            }
            if (hitObject)
            {
                hitObject.SetValue(hit.collider.gameObject);
            }

            // print ("hitpoint: " + hitPoint.Value);
            // if (hitObject && hitObject.Value.tag != "Item") print ("hitObject: " + hitObject.Value.name);
        }
        else
        {
            if (hitObject)
            {
                hitObject.SetValue(null as GameObject);
            }
        }
    }
示例#3
0
    public void GrabThis()
    {
        transform.DORotate(originalRotation.eulerAngles, 0.3f, RotateMode.Fast);
        transform.DOScale(Vector3.one * 1.25f, 0.3f);
        isGrabbed      = true;
        rb.isKinematic = true;
        isGrabbing.SetValue(true);
        grabbedItem.SetValue(gameObject);

        // TODO refactor this with CSV
        var itemParams = GetComponent <ItemParams> ();

        toolTip.TriggerTooltip(itemParams.Description);

        if (mouseCursorHoverUI.Value && mouseCursorHoverUI.Value.tag == "Slot")
        {
            var slot = mouseCursorHoverUI.Value.GetComponent <SlotBehavior> ();
            slot.ReleaseSlot();
            return;
        }
    }