#if XAPI_REGISTRY_EXISTS using System.ComponentModel; using OmiLAXR.Composers; using OmiLAXR.TrackingBehaviours.Learner; using UnityEngine; namespace OmiLAXR.xAPI.Composers { [AddComponentMenu("OmiLAXR / 4) Composers / Input System Composer (xAPI)"), Description("Creates statements:\n- actor pressed action with actionName(String)")] public class InputSystemComposer : xApiComposer { public override Author GetAuthor() => new Author("Sergej Görzen", "goerzen@cs.rwth-aachen.de"); protected override void Compose(InputSystemTrackingBehaviour tb) { tb.OnPressedAnyButton.AddHandler((owner, args) => { var stmt = actor.Does(xapi.virtualReality.verbs.pressed) .Activity(xapi.virtualReality.activities.action) .WithResult(xapi.generic.extensions.result.deviceId(args.DeviceId).deviceName(args.DeviceName)) .WithExtension(xapi.virtualReality.extensions.activity .actionName(args.ButtonName)); SendStatement(owner, stmt); }); } } } #endif