30 [Header(
"Puntos por eliminar bala enemiga")]
31 [Tooltip(
"Puntos que suma el jugador al destruir una bala enemiga")]
38 [Header(
"Puntos por tipo de enemigo")]
39 [Tooltip(
"Array de puntuaciones: index 0 = tipo 1, index 1 = tipo 2, etc.")]
47 [Header(
"UI de puntuación")]
48 [Tooltip(
"Componente TMP_Text donde se muestra la puntuación")]
72 DontDestroyOnLoad(gameObject);
92 if (typeIndex >= 0 && typeIndex <
enemyScores.Length)
98 Debug.LogWarning($
"ScoreManager: índice de tipo de enemigo inválido ({typeIndex}).");
Sistema de puntuación centralizado que gestiona puntos obtenidos por el jugador. Permite asignar punt...
void AddEnemyScoreByType(int typeIndex)
Suma puntos en función del tipo de enemigo destruido, usando su índice en el array enemyScores.
void AddEnemyScoreCustom(int points)
Suma una cantidad específica de puntos (ej. jefes, eventos especiales...).
void AddBulletScore()
Suma los puntos correspondientes por destruir una bala enemiga.
void UpdateUI()
Refresca el texto de puntuación en pantalla si el componente scoreText está asignado.
void AddScore(int amount)
Añade puntos a la puntuación total y actualiza la UI.
int[] enemyScores
Array que define la puntuación por tipo de enemigo. El índice representa el tipo, el valor representa...
void Awake()
Inicializa el Singleton y actualiza la UI. Persiste entre escenas.
static ScoreManager Instance
Instancia global del ScoreManager accesible desde cualquier parte del código.
TMP_Text scoreText
Referencia al componente de TextMeshPro donde se muestra la puntuación actual.
int currentScore
Puntuación acumulada durante la partida.
int bulletScore
Puntos que se otorgan al destruir una bala enemiga.