sea-battle/Assets/Scripts/UI/EnemyManager.cs
2026-01-09 08:45:22 +03:00

64 lines
1.3 KiB
C#

using UnityEngine;
public class EnemyManager : MonoBehaviour
{
[Header("Ñïèñîê âðàãîâ")]
public EnemyData[] enemies;
[Header("UI êîíòðîëëåð êàðòî÷êè")]
public EnemyCardController cardController;
private int currentIndex = 0;
public void SetEnemy(int index)
{
if (index < 0 || index >= enemies.Length) return;
if (!cardController.gameObject.activeSelf)
cardController.gameObject.SetActive(true);
currentIndex = index;
cardController.SetEnemy(enemies[index]);
}
public void SetEnemyPlayer()
{
cardController.gameObject.SetActive(false);
}
public void NextEnemy()
{
int nextIndex = (currentIndex + 1) % enemies.Length;
SetEnemy(nextIndex);
}
public void ShowNextDialogue()
{
cardController.ShowNextDialogue();
}
public void SetEmotion(string trigger)
{
cardController.SetEmotion(trigger);
}
/// <summary>
/// Âûçûâàåò äèàëîã ðåàêöèè íà ñîáûòèå
/// </summary>
public void TriggerEventReaction(DialogueEventType eventType)
{
if (cardController != null)
{
cardController.ShowEventDialogue(eventType);
}
}
public EnemyData GetCurrentEnemy()
{
return enemies[currentIndex];
}
}