2025-12-11 13:14:43 +01:00

35 lines
1.1 KiB
C#

// GateAnswer.cs
// Zweck: Kollision mit Gate auswerten (Spieler? richtig/falsch?) und an Spawner melden.
using UnityEngine;
public class GateAnswer : MonoBehaviour
{
public int answerIndex; // Index in der Answer-Liste (Info)
public bool isCorrect; // Markierung ob diese Antwort korrekt ist
public GateSpawner spawner; // Rückrufziel
[SerializeField] private string playerTag = "Player";
private void OnTriggerEnter(Collider other)
{
// Root des Kolliders bestimmen (für Rigidbody/Vehicle)
Transform root = other.attachedRigidbody
? other.attachedRigidbody.transform
: other.transform.root;
if (!root.CompareTag(playerTag))
{
Debug.Log($"Gate '{name}' getroffen von '{root.name}' (kein Player, Tag: {root.tag})");
return;
}
// Spieler: Meldung an Spawner
Debug.Log(isCorrect ? "Correct Answer" : "Wrong Answer");
if (spawner != null)
spawner.HandleGateAnswered(isCorrect);
else
Debug.LogWarning($"Gate '{name}' hat keinen GateSpawner gesetzt.");
}
}