Files
beyond/Assets/ThirdParty/Invector-3rdPersonController/Melee Combat/Scripts/WaypointSystem/vPoint.cs
2024-11-20 15:21:28 +01:00

51 lines
1.3 KiB
C#

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Invector
{
[System.Serializable]
public class vPoint : MonoBehaviour
{
public float timeToStay = 0f;
public int maxVisitors = 1;
public bool isValid = true;
public List<Transform> visitors;
public float areaRadius = 1f;
void Start()
{
visitors = new List<Transform>();
}
public Vector3 position
{
get { return transform.position; }
set { transform.position = value; }
}
public virtual void Enter(Transform visitor)
{
if (!visitors.Contains(visitor))
visitors.Add(visitor);
}
public virtual void Exit(Transform visitor)
{
if (visitors.Contains(visitor))
visitors.Remove(visitor);
}
public virtual bool IsOnWay(Transform visitor)
{
return visitors.Contains(visitor);
}
public virtual bool CanEnter(Transform visitor)
{
if (visitors.Contains(visitor)) return true;
if (!isValid) return false;
if (visitors.Count == maxVisitors) return false;
return true;
}
}
}