ProjectDDD/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovement.cs

28 lines
831 B
C#

using UnityEngine;
namespace DDD
{
public class RestaurantCharacterMovement : MonoBehaviour
{
private RestaurantCharacterMovementConstraint _constraint;
private void Awake()
{
_constraint = gameObject.AddComponent<RestaurantCharacterMovementConstraint>();
}
public virtual bool CanMove()
{
// Get all components implements IRestaurantMovementConstraint
var constraints = GetComponents<IRestaurantMovementConstraint>();
// TODO : Maybe need optimize GetComponents?
foreach (var movementConstraint in constraints)
{
if (movementConstraint.IsBlockingMovement())
{
return false;
}
}
return true;
}
}
}