Project_WL/Assets/ResWork/ChapterQuest/ChapterQuest_GetItemObj.cs

52 lines
1.7 KiB
C#

using UnityEngine;
using UnityEngine.AI;
public class ChapterQuest_GetItemObj : MonoBehaviour
{
public Animation m_Animation;
public string GetAnim;
public NavMeshAgent m_NavMeshAgent;
public Transform[] tfs_target; // 이동 위치
bool IsGet;
float offtime;
int moveindex;
void Update()
{
if (offtime > 0f)
{
offtime -= Time.deltaTime;
if (offtime <= 0f)
gameObject.SetActive(false);
}
if (IsGet) return;
if (m_NavMeshAgent != null)
{
m_NavMeshAgent.SetDestination(tfs_target[moveindex].position);
if (m_NavMeshAgent.isOnNavMesh && !m_NavMeshAgent.pathPending)
if (m_NavMeshAgent.remainingDistance <= m_NavMeshAgent.stoppingDistance)
if (!m_NavMeshAgent.hasPath || m_NavMeshAgent.velocity.sqrMagnitude == 0f)
{
++moveindex;
if (moveindex == tfs_target.Length)
moveindex = 0;
}
}
var dist = Vector3.Distance(MyValue.MyPC.Get_position(), transform.position);
if (dist < 2f)
{
if (m_NavMeshAgent != null) m_NavMeshAgent.isStopped = true;
IsGet = true;
if (m_Animation != null && !string.IsNullOrEmpty(GetAnim))
{
m_Animation.Play(GetAnim);
offtime = m_Animation[GetAnim].length;
}
else
offtime = 1f;
//GameUI.Ins.IngameUI.m_ChapterQuest.Add_PurposeCount(new ChapterQuestAddData { purpose = ePurpose.GetItem });
}
}
}