コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Visual Element の絶対位置を取得する拡張メソッド

ソースコード

using UnityEngine;
using UnityEngine.UIElements;

namespace Kogane
{
    public static class VisualElementExtensionMethods
    {
        public static Vector2 GetPosition( this VisualElement self )
        {
            var element  = self;
            var position = Vector2.zero;

            while ( element is { parent: { } } )
            {
                position += element.layout.position;
                element  =  element.parent;
            }

            return position;
        }
    }
}