Projet-IA-Madelaine/Scripts/GameObjectsScripts/LaserScript.cs

48 lines
1.4 KiB
C#
Raw Normal View History

2024-06-12 21:03:42 +02:00
using Assets.Scripts;
using UnityEngine;
public class CapsulePlacer : MonoBehaviour
{
public Transform objectA;
public Transform objectB;
private bool laserEnabled;
private void Awake()
{
if(objectA == null || objectB == null)
{
laserEnabled = false;
Debug.LogError("Les boules du laser ne sont pas définis.");
}
laserEnabled = DataBearer.Instance.Rules.Lasers;
if (!laserEnabled)
{
Destroy(gameObject);
return;
}
}
private void Update()
{
Vector2 positionA = objectA.position;
Vector2 positionB = objectB.position;
// Calcul de la distance et mise à jour de l'échelle
float distance = Vector2.Distance(positionA, positionB);
Vector3 localScale = transform.localScale;
localScale.y = distance / 2f;
transform.localScale = localScale;
// Mise à jour de la position
transform.position = (positionA + positionB) / 2f;
// Calcul de la direction et de l'angle
Vector2 direction = positionB - positionA;
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg + 90f;
// Mise à jour de la rotation
transform.rotation = Quaternion.Euler(0f, 0f, angle);
}
}