reckfellENGINE

TextureProgressBar

Линейный или круговой прогресс из трёх текстурных слоёв.

На этой странице
class TextureProgressBarReckfellSharpНаследует Range

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Конструктор
# TextureProgressBar
C#
public TextureProgressBar();

Создаёт индикатор без текстур: Value = 0, диапазон 0…100, Step = 1, направление LeftToRight, NinePatchStretch = false, белые Tint. MouseFilter = Pass.

Свойства16

FillModeСвойство
# FillMode
C#
public int FillMode { get; set; }

Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.

NinePatchStretchСвойство
# NinePatchStretch
C#
public bool NinePatchStretch { get; set; }

false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.

RadialCenterOffsetСвойство
# RadialCenterOffset
C#
public Vector2 RadialCenterOffset { get; set; }

Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.

RadialFillDegreesСвойство
# RadialFillDegrees
C#
public float RadialFillDegrees { get; set; }

Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.

RadialInitialAngleСвойство
# RadialInitialAngle
C#
public float RadialInitialAngle { get; set; }

Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.

StretchMarginBottomСвойство
# StretchMarginBottom
C#
public int StretchMarginBottom { get; set; }

Толщина нижнего края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.

StretchMarginLeftСвойство
# StretchMarginLeft
C#
public int StretchMarginLeft { get; set; }

Толщина левого края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.

StretchMarginRightСвойство
# StretchMarginRight
C#
public int StretchMarginRight { get; set; }

Толщина правого края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.

StretchMarginTopСвойство
# StretchMarginTop
C#
public int StretchMarginTop { get; set; }

Толщина верхнего края в исходных пикселях, 0 по умолчанию. При NinePatchStretch участвует в сумме минимального размера. Не является отступом содержимого; проверяйте допустимую сумму краёв.

TextureOverСвойство
# TextureOver
C#
public Texture2D TextureOver { get; set; }

Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

TextureProgressСвойство
# TextureProgress
C#
public Texture2D TextureProgress { get; set; }

Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

TextureProgressOffsetСвойство
# TextureProgressOffset
C#
public Vector2 TextureProgressOffset { get; set; }

Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.

TextureUnderСвойство
# TextureUnder
C#
public Texture2D TextureUnder { get; set; }

Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

TintOverСвойство
# TintOver
C#
public Color TintOver { get; set; }

Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

TintProgressСвойство
# TintProgress
C#
public Color TintProgress { get; set; }

Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

TintUnderСвойство
# TintUnder
C#
public Color TintUnder { get; set; }

Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Методы26

GetFillDegreesfloat
# GetFillDegrees
C#
public float GetFillDegrees();

Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.

Возвращает float

Сохранённый максимальный размах в градусах, ограниченный 0…360.

GetFillModeint
# GetFillMode
C#
public int GetFillMode();

Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.

Возвращает int

Числовое значение выбранного TextureProgressBar.FillModeEnum.

GetNinePatchStretchbool
# GetNinePatchStretch
C#
public bool GetNinePatchStretch();

false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.

Возвращает bool

true, если включено растяжение с учётом краёв.

GetOverTextureTexture2D
# GetOverTexture
C#
public Texture2D GetOverTexture();

Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Возвращает Texture2D

Текущая общая Texture2D либо null.

GetProgressTextureTexture2D
# GetProgressTexture
C#
public Texture2D GetProgressTexture();

Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Возвращает Texture2D

Текущая общая Texture2D либо null.

GetRadialCenterOffsetVector2
# GetRadialCenterOffset
C#
public Vector2 GetRadialCenterOffset();

Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.

Возвращает Vector2

Сохранённое смещение от центра исходной текстуры в пикселях; не ограниченный эффективный центр.

GetRadialInitialAnglefloat
# GetRadialInitialAngle
C#
public float GetRadialInitialAngle();

Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.

Возвращает float

Сохранённый начальный угол в градусах после приведения диапазона.

GetStretchMarginint
# GetStretchMargin
C#
public int GetStretchMargin(Side margin);

Возвращает сохранённую толщину выбранного края в пикселях. Края определяют минимум при NinePatchStretch, но не отступы дочернего содержимого.

Параметры
ИмяТипПо умолчанию
marginSide—
margin

Выбранная сторона Side.Left, Top, Right или Bottom.

Возвращает int

Сохранённая толщина выбранного края в исходных пикселях.

GetTextureProgressOffsetVector2
# GetTextureProgressOffset
C#
public Vector2 GetTextureProgressOffset();

Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.

Возвращает Vector2

Сохранённое локальное смещение заполнения в пикселях.

GetTintOverColor
# GetTintOver
C#
public Color GetTintOver();

Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Возвращает Color

Множитель цвета и альфы верхнего слоя.

GetTintProgressColor
# GetTintProgress
C#
public Color GetTintProgress();

Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Возвращает Color

Множитель цвета и альфы заполнения.

GetTintUnderColor
# GetTintUnder
C#
public Color GetTintUnder();

Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Возвращает Color

Множитель цвета и альфы фонового слоя.

GetUnderTextureTexture2D
# GetUnderTexture
C#
public Texture2D GetUnderTexture();

Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Возвращает Texture2D

Текущая общая Texture2D либо null.

SetFillDegreesvoid
# SetFillDegrees
C#
public void SetFillDegrees(float mode);

Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.

Параметры
ИмяТипПо умолчанию
modefloat—
mode

Максимальный размах кругового заполнения в градусах, 360 по умолчанию. Ограничивается 0…360, а не приводится по модулю; фактический размах умножается на Ratio. Передавайте конечное число.

SetFillModevoid
# SetFillMode
C#
public void SetFillMode(int mode);

Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.

Параметры
ИмяТипПо умолчанию
modeint—
mode

Направление заполнения: линейные, два симметричных Bilinear и три круговых режима. Принимает int из TextureProgressBar.FillModeEnum; по умолчанию LeftToRight. Направление не изменяет Value. Bilinear здесь означает двустороннее заполнение, не фильтрацию текстуры.

SetNinePatchStretchvoid
# SetNinePatchStretch
C#
public void SetNinePatchStretch(bool stretch);

false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.

Параметры
ИмяТипПо умолчанию
stretchbool—
stretch

false по умолчанию: линейные слои рисуются в исходном размере. true растягивает по StretchMargin и задаёт минимум суммами краёв. Круговое заполнение при true масштабируется к Size без nine-patch нарезки; фон/накладка используют обычный nine-patch путь.

SetOverTexturevoid
# SetOverTexture
C#
public void SetOverTexture(Texture2D tex);

Верхняя общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Параметры
ИмяТипПо умолчанию
texTexture2D—
tex

Общая Texture2D либо null для очистки слоя.

SetProgressTexturevoid
# SetProgressTexture
C#
public void SetProgressTexture(Texture2D tex);

Частично показываемая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Параметры
ИмяТипПо умолчанию
texTexture2D—
tex

Общая Texture2D либо null для очистки слоя.

SetRadialCenterOffsetvoid
# SetRadialCenterOffset
C#
public void SetRadialCenterOffset(Vector2 mode);

Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.

Параметры
ИмяТипПо умолчанию
modeVector2—
mode

Смещение от центра исходной TextureProgress в пикселях, Vector2.Zero по умолчанию. Getter возвращает сохранённое смещение; эффективный центр рисования ограничивается прямоугольником текстуры.

SetRadialInitialAnglevoid
# SetRadialInitialAngle
C#
public void SetRadialInitialAngle(float mode);

Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.

Параметры
ИмяТипПо умолчанию
modefloat—
mode

Начальный угол кругового заполнения в градусах, 0 по умолчанию направлено вверх. Конечные значения вне 0…360 приводятся по модулю 360; ровно 360 сохраняется. NaN/бесконечность отклоняются. В линейном режиме настройка не задаёт направление.

SetStretchMarginvoid
# SetStretchMargin
C#
public void SetStretchMargin(Side margin, int value);

Задаёт толщину края в пикселях. Side проверяется; размер не ограничивается автоматически. Используйте неотрицательные значения с суммами, помещающимися во всех используемых исходных слоях.

Параметры
ИмяТипПо умолчанию
marginSide—
valueint—
margin

Выбранная сторона Side.Left, Top, Right или Bottom.

value

Неотрицательная толщина края в исходных пикселях; проверьте сумму с противоположным краем.

SetTextureProgressOffsetvoid
# SetTextureProgressOffset
C#
public void SetTextureProgressOffset(Vector2 offset);

Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.

Параметры
ИмяТипПо умолчанию
offsetVector2—
offset

Смещение заполнения в локальных пикселях, Vector2.Zero по умолчанию. Не увеличивает минимум. В nine-patch пути совпадающий ресурс фона/накладки также может получить это смещение; для независимости используйте отдельные экземпляры текстур.

SetTintOvervoid
# SetTintOver
C#
public void SetTintOver(Color tint);

Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Параметры
ИмяТипПо умолчанию
tintColor—
tint

Множитель цвета и альфы слоя накладки, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

SetTintProgressvoid
# SetTintProgress
C#
public void SetTintProgress(Color tint);

Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Параметры
ИмяТипПо умолчанию
tintColor—
tint

Множитель цвета и альфы слоя заполнения, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

SetTintUndervoid
# SetTintUnder
C#
public void SetTintUnder(Color tint);

Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

Параметры
ИмяТипПо умолчанию
tintColor—
tint

Множитель цвета и альфы слоя фона, белый по умолчанию. Не меняет пиксели исходной текстуры и не задаёт Value.

SetUnderTexturevoid
# SetUnderTexture
C#
public void SetUnderTexture(Texture2D tex);

Фоновая общая Texture2D либо null. Ресурс не копируется; изменения отслеживаются. Без NinePatchStretch размер слоя участвует в минимуме Control.

Параметры
ИмяТипПо умолчанию
texTexture2D—
tex

Общая Texture2D либо null для очистки слоя.

TextureProgressBar.FillModeEnum

ЗначениеОписание
BilinearLeftAndRight = 6

TextureProgressBar.TextureProgress заполняется от центра, расширяясь как влево, так и вправо.

BilinearTopAndBottom = 7

TextureProgressBar.TextureProgress заполняется от центра, расширяясь как вверх, так и вниз.

BottomToTop = 3

TextureProgressBar.TextureProgress заполняется снизу вверх.

Clockwise = 4

Превращает узел в лучевой стержень. TextureProgressBar.TextureProgress Заполняет по часовой стрелке. TextureProgressBar.RadialCenterOffset, TextureProgressBar.RadialInitialAngle и TextureProgressBar.RadialFillDegrees чтобы контролировать то, как наполнится бар.

ClockwiseAndCounterClockwise = 8

Превращает узел в лучевой стержень. TextureProgressBar.TextureProgress Заполняется радиально от центра, расширяя как по часовой стрелке, так и против часовой стрелки. TextureProgressBar.RadialCenterOffset, TextureProgressBar.RadialInitialAngle и TextureProgressBar.RadialFillDegrees чтобы контролировать то, как наполнится бар.

CounterClockwise = 5

Превращает узел в лучевой стержень. TextureProgressBar.TextureProgress Заполняется против часовой стрелки. TextureProgressBar.RadialCenterOffset, TextureProgressBar.RadialInitialAngle и TextureProgressBar.RadialFillDegrees чтобы контролировать то, как наполнится бар.

LeftToRight = 0

TextureProgressBar.TextureProgress заполняется слева направо.

RightToLeft = 1

TextureProgressBar.TextureProgress заполняется справа налево.

TopToBottom = 2

TextureProgressBar.TextureProgress заполняется сверху вниз.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.