您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
25 行
888 B
25 行
888 B
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace GameplayIngredients.Interactions
|
|
{
|
|
[AddComponentMenu(ComponentMenu.interactivePath + "Basic Interactive User")]
|
|
public class BasicInteractiveUser : InteractiveUser
|
|
{
|
|
public Camera Camera;
|
|
public float InteractionAngle = 60.0f;
|
|
|
|
public override bool CanInteract(Interactive interactive)
|
|
{
|
|
Vector3 toInteractive = (interactive.transform.position - Camera.transform.position).normalized;
|
|
return Mathf.Acos(Vector3.Dot(toInteractive, Camera.transform.forward)) < InteractionAngle;
|
|
}
|
|
|
|
public override Interactive[] SortCandidates(IEnumerable<Interactive> candidates)
|
|
{
|
|
return candidates.OrderBy(a => Vector3.Distance(a.gameObject.transform.position, this.transform.position)).ToArray();
|
|
}
|
|
}
|
|
}
|
|
|