TextureProgressBar
Линейный или круговой прогресс из трёх текстурных слоёв.
TextureUnder рисуется фоном, TextureProgress — частично по Ratio, TextureOver — поверх. Слои необязательны и имеют отдельные Tint. Value задаёт ваш код; процентная надпись и режим Indeterminate, как у ProgressBar, здесь не предоставляются. По умолчанию Step = 1: для плавного дробного прогресса настройте Step явно.
Например, MinValue = 0, MaxValue = 200 и Value = 50 дают Ratio = 0.25. Обычно оставляйте Page = 0. Для обычной полосы выберите FillModeEnum.LeftToRight или другое линейное направление; FillMode принимает int, поэтому приведите enum к int. Направления LeftToRight/RightToLeft заданы явно и не являются автоматическими Begin/End для RTL.
Без NinePatchStretch слои используют размеры исходных текстур, а встроенный минимум — максимум их ширины/высоты, не меньше 1 × 1. Увеличение Size само не растягивает линейную текстуру. NinePatchStretch включает растяжение по краям StretchMargin и меняет минимум на суммы противоположных краёв. Даже без текстур эти суммы сохраняются. Используйте неотрицательные края, помещающиеся в исходные слои.
Для кругового индикатора выберите Clockwise, CounterClockwise или ClockwiseAndCounterClockwise. RadialInitialAngle задаёт начало в градусах: 0 направлено вверх. RadialFillDegrees задаёт максимальный размах 0…360; фактический размах равен Ratio × RadialFillDegrees. Например, Ratio = 0.5 и размах 180 дают сектор 90°. Форма кольца определяется изображением с прозрачностью, а не самим выбором кругового режима. В круговом режиме заполнение не нарезается как nine-patch; при включённом NinePatchStretch оно масштабируется к Size.
RadialCenterOffset задаёт смещение от центра исходной текстуры в пикселях. Сохранённое значение не ограничивается, но эффективный центр при расчёте ограничен прямоугольником текстуры. TextureProgressOffset смещает заполнение и не увеличивает встроенный минимум. В текущем nine-patch пути слой распознаётся по совпадению ресурса: если фон или накладка используют тот же ресурс, что заполнение, смещение может затронуть их тоже. Для раздельных смещений назначайте отдельные экземпляры текстур; это ограничение реализации, не исправление движка.
Texture-ссылки общие. Изменение исходного ресурса влияет на использующие его слои; Tint меняет только отображение соответствующего слоя. MouseFilter по умолчанию Pass — для декоративного индикатора поверх интерактивных элементов задайте Ignore.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
TextureProgressBarКонструктор
public TextureProgressBar();Создаёт индикатор без текстур: Value = 0, диапазон 0…100, Step = 1, направление LeftToRight, NinePatchStretch = false, белые Tint. MouseFilter = Pass.
Свойства16
FillModeСвойство
public int FillMode { get; set; }Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.
NinePatchStretchСвойство
public bool NinePatchStretch { get; set; }false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.
RadialCenterOffsetСвойство
public Vector2 RadialCenterOffset { get; set; }Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.
RadialFillDegreesСвойство
public float RadialFillDegrees { get; set; }Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.
RadialInitialAngleСвойство
public float RadialInitialAngle { get; set; }Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.
StretchMarginBottomСвойство
public int StretchMarginBottom { get; set; }Толщина нижнего края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.
StretchMarginLeftСвойство
public int StretchMarginLeft { get; set; }Толщина левого края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.
StretchMarginRightСвойство
public int StretchMarginRight { get; set; }Толщина правого края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.
StretchMarginTopСвойство
public int StretchMarginTop { get; set; }Толщина верхнего края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.
TextureOverСвойство
public Texture2D TextureOver { get; set; }Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
TextureProgressСвойство
public Texture2D TextureProgress { get; set; }Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
TextureProgressOffsetСвойство
public Vector2 TextureProgressOffset { get; set; }Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.
TextureUnderСвойство
public Texture2D TextureUnder { get; set; }Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
TintOverСвойство
public Color TintOver { get; set; }Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
TintProgressСвойство
public Color TintProgress { get; set; }Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
TintUnderСвойство
public Color TintUnder { get; set; }Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
Методы26
GetFillDegreesfloat
public float GetFillDegrees();Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.
floatСохранённый максимальный размах в градусах, ограниченный 0…360.
GetFillModeint
public int GetFillMode();Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.
intЧисловое значение выбранного TextureProgressBar.FillModeEnum.
GetNinePatchStretchbool
public bool GetNinePatchStretch();false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.
booltrue, если включено растяжение с учётом краёв.
GetOverTextureTexture2D
public Texture2D GetOverTexture();Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
Texture2DТекущая общая Texture2D либо null.
GetProgressTextureTexture2D
public Texture2D GetProgressTexture();Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
Texture2DТекущая общая Texture2D либо null.
GetRadialCenterOffsetVector2
public Vector2 GetRadialCenterOffset();Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.
Vector2Сохранённое смещение от центра исходной текстуры в пикселях; не ограниченный эффективный центр.
GetRadialInitialAnglefloat
public float GetRadialInitialAngle();Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.
floatСохранённый начальный угол в градусах после приведения диапазона.
GetStretchMarginint
public int GetStretchMargin(Side margin);Возвращает сохранённую толщину выбранного края в пикселях. Края определяют минимум при NinePatchStretch, но не отступы дочернего содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
marginВыбранная сторона Side.Left, Top, Right или Bottom.
intСохранённая толщина выбранного края в исходных пикселях.
GetTextureProgressOffsetVector2
public Vector2 GetTextureProgressOffset();Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.
Vector2Сохранённое локальное смещение заполнения в пикселях.
GetTintOverColor
public Color GetTintOver();Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
ColorМножитель цвета и альфы верхнего слоя.
GetTintProgressColor
public Color GetTintProgress();Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
ColorМножитель цвета и альфы заполнения.
GetTintUnderColor
public Color GetTintUnder();Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
ColorМножитель цвета и альфы фонового слоя.
GetUnderTextureTexture2D
public Texture2D GetUnderTexture();Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
Texture2DТекущая общая Texture2D либо null.
SetFillDegreesvoid
public void SetFillDegrees(float mode);Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | float | — |
modeМаксимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.
SetFillModevoid
public void SetFillMode(int mode);Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | int | — |
modeНаправление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.
SetNinePatchStretchvoid
public void SetNinePatchStretch(bool stretch);false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.
| Имя | Тип | По умолчанию |
|---|---|---|
stretch | bool | — |
stretchfalse по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.
SetOverTexturevoid
public void SetOverTexture(Texture2D tex);Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
| Имя | Тип | По умолчанию |
|---|---|---|
tex | Texture2D | — |
texОбщая Texture2D либо null для очистки слоя.
SetProgressTexturevoid
public void SetProgressTexture(Texture2D tex);Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
| Имя | Тип | По умолчанию |
|---|---|---|
tex | Texture2D | — |
texОбщая Texture2D либо null для очистки слоя.
SetRadialCenterOffsetvoid
public void SetRadialCenterOffset(Vector2 mode);Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | Vector2 | — |
modeСмещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.
SetRadialInitialAnglevoid
public void SetRadialInitialAngle(float mode);Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | float | — |
modeНачальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.
SetStretchMarginvoid
public void SetStretchMargin(Side margin, int value);Задаёт толщину края в пикселях. Side проверяется; размер не ограничивается автоматически. Используйте неотрицательные значения с суммами, помещающимися во всех используемых исходных слоях.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
value | int | — |
marginВыбранная сторона Side.Left, Top, Right или Bottom.
valueНеотрицательная толщина края в исходных пикселях; проверьте сумму с противоположным краем.
SetTextureProgressOffsetvoid
public void SetTextureProgressOffset(Vector2 offset);Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
offsetСмещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.
SetTintOvervoid
public void SetTintOver(Color tint);Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
| Имя | Тип | По умолчанию |
|---|---|---|
tint | Color | — |
tintМножитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
SetTintProgressvoid
public void SetTintProgress(Color tint);Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
| Имя | Тип | По умолчанию |
|---|---|---|
tint | Color | — |
tintМножитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
SetTintUndervoid
public void SetTintUnder(Color tint);Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
| Имя | Тип | По умолчанию |
|---|---|---|
tint | Color | — |
tintМножитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.
SetUnderTexturevoid
public void SetUnderTexture(Texture2D tex);Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.
| Имя | Тип | По умолчанию |
|---|---|---|
tex | Texture2D | — |
texОбщая Texture2D либо null для очистки слоя.