Есть панель, которая двигается при нажатии на определенную область экрана.
Нужно сделать так, что бы панель прекращала движении после достижения края камеры / экрана.
Исходный код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UpgradeMenuScript : MonoBehaviour
{
public RectTransform upgradeMenu;
private Rect leftPart = new Rect(0, 0, Screen.width / 3, Screen.height);
private Rect rightPart = new Rect(Screen.width / 3 * 2, 0, Screen.width / 3, Screen.height);
private Rect upperPart = new Rect(0, Screen.height / 3 * 2, Screen.width, Screen.height / 3);
private Rect downPart = new Rect(0, 0, Screen.width, Screen.height / 3);
void Update()
{
if (Input.GetMouseButton(0))
{
if (leftPart.Contains(Input.mousePosition))
{
upgradeMenu.transform.Translate(new Vector2(15, 0) * Time.deltaTime);
}
if (rightPart.Contains(Input.mousePosition))
{
upgradeMenu.transform.Translate(new Vector2(-15, 0) * Time.deltaTime);
}
if (upperPart.Contains(Input.mousePosition))
{
upgradeMenu.transform.Translate(new Vector2(0, -15) * Time.deltaTime);
}
if (downPart.Contains(Input.mousePosition))
{
upgradeMenu.transform.Translate(new Vector2(0, 15) * Time.deltaTime);
}
}
}
}