Описание
Получает пользовательские границы для цели этого редактора.
Используйте этот метод для получения границ пользовательского окна, полученного из класса Editor. Этот метод всегда используется в сочетании с Editor.HasFrameBounds, который возвращает либо true, либо false, в зависимости от реализации.
using UnityEngine;
using UnityEditor;
// В этом примере просматриваются все кости в иерархии и вычисляются границы для всего объекта
public class GameObjectEditorWindow: Editor
{
private bool HasFrameBounds()
{
// результат этой функции зависит от реализации
// это, скорее всего, будет использоваться для оценки того, являются ли границы
// может существовать для целей этого окна Editor
return Selection.objects.Length > 0;
}
public Bounds OnGetFrameBounds()
{
Transform bone = Selection.activeTransform;
Bounds bounds = new Bounds(bone.position, new Vector3(0, 0, 0));
foreach (Transform child in bone)
bounds.Encapsulate(child.position);
if (bone.parent) bounds.Encapsulate(bone.parent.position);
return bounds;
}
}