Beispiel #1
0
    private void SnapIt(Vector3 pos)
    {
        var snap_pos = path_man.getNearestSnap(pos);// grid.GetGridPoint(pos);

        placing_object.transform.position = snap_pos.position;
        //placing_object.transform.rotation = Quaternion.identity;
    }
Beispiel #2
0
    private void GetMouseInput()
    {
        RaycastHit hit_pos;
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit_pos, Mathf.Infinity))
        {
            //Choose from list of objects in GUI

            if ((placing_object != null))
            {
                float   new_x         = hit_pos.point.x;
                float   new_z         = hit_pos.point.z;
                Vector3 new_transform = new Vector3(new_x, -1.0f, new_z);
                // placing_object.transform.position = new_transform;

                SnapIt(new_transform);

                if (Input.GetKeyUp("f"))
                {
                    RotateObj();
                }

                if (Input.GetMouseButtonDown(0) && CheckPlaceCollision() == false)
                {
                    placing_object.GetComponent <CollisionCheck>().DeleteRB();
                    placing_object.GetComponent <CollisionCheck>().ChangeLayer();
                    PlaceObjectHere(new_transform);
                }
            }
            else
            {
                //if (Input.GetMouseButtonDown(0))
                //{
                //    print("mouse button 1 down");
                //    print("with tag: " + hit_pos.transform.tag);
                //}

                if (Input.GetMouseButtonDown(0) &&
                    (hit_pos.transform.tag == "hotel_item" || hit_pos.transform.parent.tag == "hotel_item") &&
                    !EventSystem.current.IsPointerOverGameObject())
                {
                    float   new_x         = hit_pos.point.x;
                    float   new_z         = hit_pos.point.z;
                    Vector3 new_transform = new Vector3(new_x, -1.0f, new_z);
                    //select room
                    Transform myNode            = path_man.getNearestSnap(new_transform);
                    Vector3   indicatorPosition = myNode.position;
                    indicatorPosition.y = 10.0f;
                    if (!selectIndicator.gameObject.activeSelf)
                    {
                        selectIndicator.gameObject.SetActive(true);
                    }
                    selectIndicator.position = indicatorPosition;
                    selectIndicator.GetComponent <RoomEmployeeSelect>().sQ = myNode.GetComponent <ServiceQueue>();
                }
            }
        }
    }