Атрибуты методов и событий

Подробнее: Общие свойства атрибутов.

Checker

Используются для методов, возвращающих логический тип.

Пример кода

public class Cube : VarwinObject
{
    [Checker(English: "check if zero")]
    public bool ZeroChecker(int i)
    {
        return i == 0;
    }
}

Пример блока

../../../_images/image_614.png

CheckerGroup

[CheckerGroup("group name")]

Action

Используется для методов, не возвращающих значение.

Пример кода

public class Cube : VarwinObject
{
    [Action(English: "debug message")]
    public void SampleAction(string message)
    {
        Debug.Log(message);
    }
}

Пример блока

../../../_images/image_710.png

ActionGroup

[ActionGroup("group name")]

Function

Используются для методов, возвращающих значение.

Пример кода

public class Cube : VarwinObject
{
    [Function(English: "sum")]
    public int Add(int a, int b)
    {
        return a + b;
    }
}

Пример блока

../../../_images/image_88.png

FunctionGroup

[FunctionGroup("group name")]

Event

Используются для событий.

Пример кода

public class Cube : VarwinObject
{
    public delegate void SampleEventHandler();

    [Event(English: "sample event")]
    public event SampleEventHandler sampleEvent;

    private void Start()
    {
        sampleEvent?.Invoke();
    }
}

Пример блока

../../../_images/image_98.png

EventGroup

[EventGroup("group name")]

ArgsFormat

Используется для форматирования вида блока.

Применим в качестве дополнительного атрибута для всех атрибутов методов и событий.

Может также сочетаться с атрибутом группы.

Например, блок, реализующий логику сложения двух чисел, без форматирования выглядит следующим образом:

../../../_images/image_106.png

Чтобы добавить текст между аргументами, необходимо использовать атрибут

[ArgsFormat(Locale: "locale formatting string")].

Строка форматирования задается следующим образом: «{%} + {%}», где {%} - аргумент метода. Аргументы добавляются в порядке вхождения.

Пример кода

public class Cube : VarwinObject
{
    [Function(English: "sum")]
    [ArgsFormat(English:"{%} + {%}")]
    public int Sum(int a, int b)
    {
        return a + b;
    }
}

Пример блока

../../../_images/image_1113.png