35 lines
1.1 KiB
C#
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.");
|
|
}
|
|
}
|