ЛокализацияLink to Локализация

При использовании атрибутов обязательно указываются локализованные имена блоков в следующем виде:

[AttributeName(English: "text", Russian: "текст")]

При этом должна присутствовать как минимум, одна локаль

Модификаторы доступаLink to Модификаторы доступа

Блоки генерируется только для сущностей с модификаторами доступа public и internal

ПримерLink to Пример

Например, для атрибута свойств [Variable] код выглядит следующим образом:

public class Cube : VarwinObject
{
    private string _text;

    [Variable(English: "text", Russian: "текст")]
    public string TextPanel
    {
        get => _text;
        internal set => _text = value;
    }
}

Данный код сгенерирует следующие блоки для блокли

где 21 - имя конкретного экземпляра объекта Cube, созданного в Varwin XRMS

При переключении языка Varwin XRMS вид блоков изменится в соответствии с выбранным языком

Group AttributesLink to Group Attributes

Для некоторых атрибутов существуют дополнительные атрибуты, так называемые атрибуты групп, позволяющие создавать группы блоков. Блоки с одинаковыми именами группы будут группироваться в один блок с выпадающим списком

Такие атрибуты можно использовать только в связке с основным атрибутом

Важно помнить, что можно группировать только блоки с одинаковыми сигнатурами (количество и типы входных параметров должны совпадать)

Например, для атрибута [Variable] атрибут групп [VariableGroup("group name")]

ПримерLink to Пример

public class Cube : VarwinObject
{
    private string _text;
    private string _anotherText;

    [VariableGroup("panel texts")]
    [Variable(English: "text", Russian: "текст")]

    public string TextPanel
    {
        get => _text;
        set => _text = value;
    }

    [VariableGroup("panel texts")]
    [Variable(English: "another text", Russian: "другой текст")]
    internal string AnotherText
    {
        get => _anotherText;
        set => _anotherText = value;
    }
}

Для этого кода будут сгенерированы по одному геттеры и сеттеру с возможностью выбрать интересующее свойство в выпадающем списке

 

Список атрибутовLink to Список атрибутов

В Varwin определены следующие атрибуты групп:

  • ActionGroup
  • CheckerGroup
  • EventGroup
  • FunctionGroup
  • VariableGroup