Files
PrinceOfGlory/Assets/Scripts/ExitMap/ArrowMgr.cs
kridoo 6e91a0c7f0 111
2025-09-15 17:32:08 +08:00

54 lines
1.5 KiB
C#

using BigSpace.Logic;
using BigSpace.XRCore.Base;
using BigSpace.XRCore.Event;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ArrowMgr : MonoSingleton<ArrowMgr>
{
public Transform m_arrow;
public Transform m_target;
bool isRun = false;
// Start is called before the first frame update
void Start()
{
GlobalEventMgr.Listen<Vector3>(GameEvent.EventShowLeavePlayByPosition, GameDataManage_EventShowLeavePlayByPosition);
GlobalEventMgr.Listen<int>(GameEvent.EventShowCheckLeavePlay, GameDataManage_EventShowCheckLeavePlay);
GlobalEventMgr.Listen(GameEvent.EventHideLeavePlay, GameDataManage_EventHideLeavePlay);
}
// Update is called once per frame
void Update()
{
if (isRun)
{
if (m_target != null)
m_arrow.LookAt(m_target);
}
}
private void GameDataManage_EventShowLeavePlayByPosition(Vector3 v3)
{
m_arrow.gameObject.SetActive(true);
LinerMgr.Instance.ShowArrow(true, m_target);
isRun = true;
}
//Ö÷¶¯¼ì²â³ö½ç
private void GameDataManage_EventShowCheckLeavePlay(int index)
{
m_arrow.gameObject.SetActive(true);
LinerMgr.Instance.ShowArrow(true, m_target);
isRun = true;
}
private void GameDataManage_EventHideLeavePlay()
{
m_arrow.gameObject.SetActive(false);
LinerMgr.Instance.ShowArrow(false, m_target);
isRun = false;
}
}