Как на всю жизнь сделать удобные текстовые контейнеры в Unity

Все уже придумано. Берете язык из String.Format и жените его с Unity Inspector.

Не программистам:
String.Format - язык шаблонов, в которых вы описываете места и формат вставки данных в тексте

Программистам:

Как на всю жизнь сделать удобные текстовые контейнеры в Unity
Как на всю жизнь сделать удобные текстовые контейнеры в Unity
Как на всю жизнь сделать удобные текстовые контейнеры в Unity
var fpsText = new PreFormatText("-", fps, netFps, lag); _fps.UpdateValueWithoutNotify(fpsText);

Строите строку, где указываете fallback значение и далее передаете сколько угодно параметров.

Как-нибудь потом покажу, что скрывается за ValueContainer

Плюсы подхода:

+ гибкость определения формата текста
+ не нужно ничего перекомпилировать
+ можно загонять форматы во внешние ресурсы

Минусы подхода:
- из кода не будет никакой проверки на правильные параметры

Совет:
выносите всю параметризацию вьюх в инспектор или конфиги. Не держите ничего из этого в коде. Наступит момент, когда придут правки или нужно будет вылизывать анимации до идеала с дизайнером. И он захочет тягать крутилки, кривые и играться с цветом. В этот момент вы поймете, насколько важно иметь прослойку

1
Начать дискуссию