Поделиться через


Мастер создания службы расширений — MRTK2

Переход от одноэлементных модулей к службам может быть затруднен. Этот мастер может дополнить нашу другую документацию и примеры кода, позволяя разработчикам создавать новые службы примерно так же легко, как создание скрипта MonoBehaviour. Дополнительные сведения о создании служб с нуля см. в руководстве по созданию зарегистрированных служб (в ближайшее время).

Запуск мастера

Запустите мастер из меню main MixedRealityToolkit/Utilities/Create Extension Service. Затем мастер проведет вас по созданию скрипта службы, интерфейса и класса профиля.

Изменение скрипта службы

По умолчанию в папке будут созданы новые ресурсы скрипта MixedRealityToolkit.Generated/Extensions . Завершив работу мастера, перейдите сюда и откройте новый скрипт службы.

Созданные скрипты служб включают некоторые запросы, аналогичные новым скриптам MonoBehaviour. Они помогут вам узнать, где инициализировать и обновить службу.

namespace Microsoft.MixedReality.Toolkit.Extensions
{
    [MixedRealityExtensionService(SupportedPlatforms.WindowsStandalone|SupportedPlatforms.MacStandalone|SupportedPlatforms.LinuxStandalone|SupportedPlatforms.WindowsUniversal)]
    public class NewService : BaseExtensionService, INewService, IMixedRealityExtensionService
    {
        private NewServiceProfile newServiceProfile;

        public NewService(IMixedRealityServiceRegistrar registrar,  string name,  uint priority,  BaseMixedRealityProfile profile) : base(registrar, name, priority, profile) 
        {
            newServiceProfile = (NewServiceProfile)profile;
        }

        public override void Initialize()
        {
            // Do service initialization here.
        }

        public override void Update()
        {
            // Do service updates here.
        }
    }
}

Если вы решили зарегистрировать службу в мастере, все, что вам нужно сделать, — это изменить этот сценарий, и служба будет автоматически обновлена. В противном случае вы можете прочитать о регистрации новой службы здесь.