CultivationOfBrewing-2/Assets/Scripts/HQB/RangeFinding/RangeFinding.cs

76 lines
2.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//测量距离
public class RangeFinding : MonoBehaviour
{
//总控制
public bool isClbool;
private Vector3 posOne, posTwo;
//测量控制
public bool isOpenDistance;
private int distanceInt; //计数控制
public Transform prefabTransform; //测量的预制体
private Transform myDistanceObj;
public Transform allCLParentTransform; //所有预制体生成的父节点
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (isClbool)
{
if (Input.GetMouseButtonDown(0))
{
posOne = Input.mousePosition;
}
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
//距离
if (isOpenDistance)
{
if (Input.GetMouseButtonUp(0))
{
posTwo = Input.mousePosition;
if (Physics.Raycast(ray, out hit, 1000) && posOne == posTwo)
{
if (distanceInt == 0)
{
distanceInt++;
//鼠标点击克隆物体
myDistanceObj = Instantiate(prefabTransform, allCLParentTransform);
// transform.TransformPoint(Prefab,hit.poit, Quaternion.identity);
myDistanceObj.transform.GetChild(0).position = hit.point;
}
else
{
myDistanceObj.transform.GetChild(1).position = hit.point;
//isOpenJL = false;
distanceInt = 0;
}
}
}
if (distanceInt > 0)
{
if (Physics.Raycast(ray, out hit, 1000))
{
myDistanceObj.transform.GetChild(1).position = hit.point;
}
}
}
}
}
}