Varwin SDK использует .admdef-файлы при создании и сборки объектов. Поэтому, любые дополнительные скрипты на объекте (помимо добавленных автоматически) при билде объекта будут проигнорированы
Данная особенность инструмента вызывает известные проблемы, связанные с переиспользованием кода. Для того, чтобы использовать одни и те же классы в разных объектах, необходимо создать библиотеку, содержащую эти классы
После изменения библиотеки необходимо перебилдить все объекты, использующие данную библиотеку
Данный урок пошагово рассказывает о процессе создания переиспользуемых компонентов
Шаг 1. Создать директорию, в которой будут находиться классы библиотеки
Шаг 2. Внутри директории создать .asmdef-файл. Его имя должно совпадать с именем namespace, в котором находятся необходимые классы
В разделе Assembly Definition References добавить ссылку на библиотеку ядра - VarwinCore
Шаг 3. Добавить в директорию необходимые классы. Они все должны находиться в одном namespace с уникальным именем, обозначающим библиотеку
using Varwin;
using UnityEngine;
using Varwin.Public;
namespace Switch.v1;
{
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(BoxCollider))]
[RequireComponent(typeof(Animator))]
public class SwitchBehaviour : MonoBehaviour, IUseStartAware
{
public bool ChangeStateOnAnimation = false;
private Animator _animator;
private bool _state = false;
}
}
Шаг 4. В .asmdef-файле объекта, который должен ссылаться на созданную библиотеку, в разделе Assembly Definition References необходимо добавить ссылку на эту библиотеку
Шаг 5. Теперь все классы из библиотеки можно использовать в объекте, который ссылается на нее. Таких объектов может быть сколько угодно, и во всех можно будет использовать общий код библиотеки