using UnityEngine;
namespace EventBossFight
{
///
/// UI RectTransform 跟随另一 RectTransform(视频 Boss 挂点,替代 Spine BoneFollower)。
/// 同一 rootCanvas 下直接同步世界坐标;否则经屏幕坐标转换到父 Rect 的局部空间。
///
[RequireComponent(typeof(RectTransform))]
[DefaultExecutionOrder(1000)]
public class EventBossFightRectFollowerGraphic : MonoBehaviour
{
[SerializeField]
private RectTransform target;
public RectTransform Target => target;
public void SetTarget(RectTransform t)
{
target = t;
}
private void OnEnable()
{
ApplyFollow();
}
private void LateUpdate()
{
ApplyFollow();
}
private void ApplyFollow()
{
if (!target)
return;
var self = (RectTransform)transform;
var parent = self.parent as RectTransform;
if (!parent)
{
self.SetPositionAndRotation(target.position, target.rotation);
return;
}
var canvasSelf = self.GetComponentInParent