public float moveSpeed = 5f;
[SerializeField] private int MassObject;
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
MoveTowardsMouse();
}
public void UpdateMass(int countMasGive)
{
MassObject =+ countMasGive;
float scaleIncrement = 0.2f;
if (MassObject <= 100)
{
scaleIncrement = 0.1f;
}
transform.localScale += new Vector3(scaleIncrement, scaleIncrement, scaleIncrement);
}
void MoveTowardsMouse()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 direction = (mousePosition - transform.position).normalized;
rb.velocity = direction * moveSpeed;
}
public List<Transform> objectsList;
public float lerpSpeed = 5.0f;
void LateUpdate()
{
if (objectsList.Count == 0)
{
return;
}
Bounds bounds = CalculateBounds();
Vector3 targetPosition = new Vector3(bounds.center.x, bounds.center.y, -10);
// Простая линейная интерполяция
transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * lerpSpeed);
}
Bounds CalculateBounds()
{
if (objectsList.Count == 0)
{
return new Bounds(Vector3.zero, Vector3.zero);
}
Bounds bounds = new Bounds(objectsList[0].position, Vector3.zero);
foreach (Transform obj in objectsList)
{
bounds.Encapsulate(obj.position);
}
return bounds;
}