Всем Привет! Когда я нажимаю на любую часть экрана бот бросает и поднимает кубик . Как сделать так, чтобы только при нажатии на UI кнопку или определенную область бот поднимал и бросал кубик?
Скрипт
Код
public bool Grabbed;
RaycastHit2D hit;
public float Distance = 2f;
public Transform holdpoint;
public float Throwforce;
public LayerMask notgrabbed;
// Use this for initialization
void Start()
{
Start_Pause_Menu.paused = true;
Physics2D.queriesStartInColliders = false;
hit = Physics2D.Raycast(transform.position, Vector2.up * transform.localScale.y, Distance);
if (hit.collider != null && hit.collider.tag == "grabbable")
{
Grabbed = true;
}
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (!Grabbed)
{
Physics2D.queriesStartInColliders = false;
hit = Physics2D.Raycast(transform.position, Vector2.up * transform.localScale.y, Distance);
if (hit.collider != null && hit.collider.tag == "grabbable")
{
Grabbed = true;
if (Buttons.isDouble == false)
{
ScoreScript.score_value += 1;
}
else
{
ScoreScript.score_value += 2;
}
}
//grab
}
else if (!Physics2D.OverlapPoint(holdpoint.position, notgrabbed))
{
Grabbed = false;
if (hit.collider.gameObject.GetComponent<Rigidbody2D>() != null)
{
hit.collider.gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.up * Throwforce);
}
//throw
}
}
if (Grabbed)
{
hit.collider.gameObject.transform.position = holdpoint.position;
hit.collider.gameObject.transform.localRotation = holdpoint.rotation;
}
}
void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawLine(transform.position, transform.position + Vector3.up * transform.localScale.y * Distance);
}