public void Update()
        {
            hitPoint = ToolUtilities.RaycastGridOnly(input.GetControllerPoint(),
                                                     input.GetControllerDirection(), gridController.GetGridCollider(), 200);

            // if we are placing a prop
            if (curObject != null && curObject.ResourceMetadata.wwObjectMetadata.type == WWType.Prop)
            { // raycast against all tiles and ignore the grid
                hitPoint = ToolUtilities.RaycastGridThenCustom(input.GetControllerPoint(),
                                                               input.GetControllerDirection(), gridController.GetGridCollider(), WWType.Tile, 200);
            }
        }
        private void Update()
        {
            var lastHitPoint = hitPoint;

            hitPoint = ToolUtilities.RaycastGridOnly(input.GetControllerPoint(),
                                                     input.GetControllerDirection(), gridController.GetGridCollider(), 200);
            if (OnlyMovingProps())
            {
                hitPoint = ToolUtilities.RaycastGridThenCustom(input.GetControllerPoint(),
                                                               input.GetControllerDirection(), gridController.GetGridCollider(), WWType.Tile, 200);
            }
            if (hitPoint.Equals(Vector3.zero))
            {
                hitPoint = lastHitPoint;
            }
            Debug.DrawLine(Vector3.zero, hitPoint, Color.red);
        }