64 lines
1.3 KiB
C#
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];
|
|
}
|
|
}
|