73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
public class OverworldEnemy_Interaction : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private Animator EnemyAnimator;
|
|
|
|
[SerializeField]
|
|
private string SpotPlayerAnimation;
|
|
|
|
[SerializeField]
|
|
private AudioClip SpotPlayerSound;
|
|
|
|
[SerializeField]
|
|
private GameObject CheckmarkObject;
|
|
|
|
[SerializeField]
|
|
private bool LWM_CouldBeOpen;
|
|
|
|
[SerializeField]
|
|
private bool DWM_CouldBeOpen;
|
|
|
|
public Battle Battle;
|
|
|
|
[HideInInspector]
|
|
public bool HasBeganBattle;
|
|
|
|
private void Awake()
|
|
{
|
|
if ((bool)Battle.BattleSong)
|
|
{
|
|
Battle.BattleSong.LoadAudioData();
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter2D(Collider2D collision)
|
|
{
|
|
if (collision.gameObject.tag == "Player" && !HasBeganBattle)
|
|
{
|
|
HasBeganBattle = true;
|
|
StartCoroutine(SpotPlayerTimed());
|
|
}
|
|
}
|
|
|
|
public void ForceTriggerBattle()
|
|
{
|
|
if (!HasBeganBattle)
|
|
{
|
|
HasBeganBattle = true;
|
|
StartCoroutine(SpotPlayerTimed());
|
|
}
|
|
}
|
|
|
|
private IEnumerator SpotPlayerTimed()
|
|
{
|
|
BattleSystem.PlayBattleSoundEffect(SpotPlayerSound);
|
|
MusicManager.PauseMusic();
|
|
CheckmarkObject.SetActive(value: true);
|
|
PlayerManager.Instance._PlayerState = PlayerManager.PlayerState.Cutscene;
|
|
LWM_CouldBeOpen = LightworldMenu.Instance.CanOpenMenu;
|
|
DWM_CouldBeOpen = DarkworldMenu.Instance.CanOpenMenu;
|
|
DarkworldMenu.Instance.CanOpenMenu = false;
|
|
LightworldMenu.Instance.CanOpenMenu = false;
|
|
EnemyAnimator.Play(SpotPlayerAnimation);
|
|
yield return new WaitForSeconds(1f);
|
|
DarkworldMenu.Instance.CanOpenMenu = DWM_CouldBeOpen;
|
|
LightworldMenu.Instance.CanOpenMenu = LWM_CouldBeOpen;
|
|
BattleSystem.StartBattle(Battle, base.transform.position);
|
|
Object.Destroy(base.gameObject);
|
|
}
|
|
}
|