С помощью атрибута [Action()] можно создавать блоки действия.

Данный атрибут применяется к методам, не возвращающим значение.

Принцип работыLink to Принцип работы

Пример кодаLink to Пример кода

public class Test : VarwinObject
{
public AudioSource AudioSource;

[Action(English: "Play audio", Russian: "Воспроизвести аудио")]
public void Play()
{
AudioSource.Play();
}

[Action(English: "Stop Audio", Russian: "Остановить аудио")]
public void Stop()
{
AudioSource.Stop();
}
}

Пример блоковLink to Пример блоков

Изменение интенсивности источника освещенияLink to Изменение интенсивности источника освещения

Пример кодаLink to Пример кода

public class Test : VarwinObject
{
public Light SpotLight;

[Action(English: "Turn on the light", Russian: "Включить свет")]
public void TurnOnLight()
{
       SpotLight.enabled = true;
}

[Action(English: "Turn off the light", Russian: "Выключить свет")]
public void TurnOffLight()
{
       SpotLight.enabled = false;
}
}

Пример блоковLink to Пример блоков

Запуск анимации через AnimatorLink to Запуск анимации через Animator

Пример кодаLink to Пример кода

public class Test : VarwinObject
{
    [SerializeField] private Animator _animator;

    private static readonly int PlayAnimationTrigger = Animator.StringToHash("Key");

    [Action(English: "Start the animation", Russian: "Запустить анимацию")]
    public void PlayAnimation()
    {
  _animator.SetTrigger(PlayAnimationTrigger);
    }
}

Пример блокаLink to Пример блока