// 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."); } }