# Группа виджетов

Группа виджетов представляет из себя простой класс-обёртку для виджетов, не создаваемых в методе Init класса UIScriptedMenu. Для использования класса необходимо переопределить следующие методы в наследуемом  классе:

```
protected Widget Init();
void RefreshText();
```

* Init - создаёт виджеты и возвращает корневой элемент. На каждом экземпляре вызывается строго один раз.
* RefreshText - обновить текст. Вызывается системой, когда необходимо гарантировать актуальность текста (например, при смене языка игре, для обновления локализации на отображаемых виджетах).&#x20;

Исходный код класса приведён ниже:

```clike
class MBSL_WidgetGroup : Managed
{
	protected Widget _Root;
	
	void MBSL_WidgetGroup()
	{
		MBSL_EventSystem.Subscribe(this, MBSL_DefaultClientEvents.ResetGUI);
	}
	
	private void ResetGUI()
	{
		if (_Root != null)
			RefreshText();
	}
	
	Widget GetRoot() 
	{
		if (_Root == null)
		{
			_Root = Init();
			RefreshText();
		}
			
		return _Root;
	}
	
	protected Widget Init() { return null; }
	
	void RefreshText() {}
}
```
