using UnityEngine;
///
/// 仅仅是给射线一个开盒蛇引用的机会,将会直接持有父类的数据,击中任意锚点都会获取到父类的数据
///
public class DataFlowUnitAnchorController :MonoBehaviour, IRaycastHittable
{
RuntimeBaseNoteData SelfRef=null;
///
/// 重写射线命中方法,确保能正确返回引用
///
public RuntimeBaseNoteData OnHitByRay(RaycastHit hit)
{
// 如果自身没有 SelfRef,尝试从父对象获取
if (SelfRef == null)
{
Debug.LogError($"当前对象没有数据");
}
Debug.Log($"DataFlow锚点被击中了!\n自身引用为{SelfRef}\n碰撞点: {hit.point}, 法线: {hit.normal}\n");
return SelfRef;
}
///
/// 用于设置数据项目
///
public void SetSelfRef(RuntimeBaseNoteData data)
{
SelfRef = data;
}
}