public event Action<int> CurrentChanged;
public int Current { get; private set; }
private void SetCurrent(int value)
{
Current = Mathf.Clamp(value, 0, Max);
CurrentChanged?.Invoke(Current);
}
private void Example()
{
SomeClass.CurrentChanged += SomeMethod;
}
private void SomeMethod(int value)
{
}
Вот тебе метод расширения, и не нужно 4 раза вызывать GetComponent за вызов одного метода.