54 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|