/// <summary>
    ///     Player selected an option in a presented alternative
    ///     Type = Alternative
    /// </summary>
    /// <param name="alternativeId">Alternative identifier.</param>
    /// <param name="optionId">Option identifier.</param>
    public void Selected(string alternativeId, string optionId)
    {
        var check = true;

        check &= tracker.Utils.check <TargetXApiException>(alternativeId,
                                                           "xAPI Exception: Target ID is null or empty. Ignoring.",
                                                           "xAPI Exception: Target ID can't be null or empty.");
        check &= tracker.Utils.check <ValueExtensionException>(optionId,
                                                               "xAPI Exception: Selected alternative is null or empty",
                                                               "xAPI Exception: Selected alternative can't be null or empty");

        if (check)
        {
            tracker.Trace(new TrackerAsset.TrackerEvent(tracker)
            {
                Event  = new TrackerAsset.TrackerEvent.TraceVerb(TrackerAsset.Verb.Selected),
                Target = new TrackerAsset.TrackerEvent.TraceObject(Alternative.Alternative.ToString().ToLower(),
                                                                   alternativeId),
                Result = new TrackerAsset.TrackerEvent.TraceResult
                {
                    Response = optionId
                }
            });
        }
    }
 /// <summary>
 /// Player interacted with a game object.
 /// Type = GameObject
 /// </summary>
 /// <param name="gameobjectId">Reachable identifier.</param>
 public void Interacted(string gameobjectId)
 {
     if (tracker.Utils.check <TargetXApiException>(gameobjectId, "xAPI Exception: Target ID is null or empty. Ignoring.", "xAPI Exception: Target ID can't be null or empty."))
     {
         tracker.Trace(new TrackerAsset.TrackerEvent(tracker)
         {
             Event  = new TrackerAsset.TrackerEvent.TraceVerb(TrackerAsset.Verb.Interacted),
             Target = new TrackerAsset.TrackerEvent.TraceObject(TrackedGameObject.GameObject.ToString().ToLower(), gameobjectId)
         });
     }
 }
Beispiel #3
0
 /// <summary>
 /// Player accessed a reachable.
 /// Type = Accessible
 /// </summary>
 /// <param name="reachableId">Reachable identifier.</param>
 public void Accessed(string reachableId)
 {
     if (tracker.Utils.check <TargetXApiException>(reachableId, "xAPI Exception: Target ID is null or empty. Ignoring.", "xAPI Exception: Target ID can't be null or empty."))
     {
         tracker.Trace(new TrackerAsset.TrackerEvent(tracker)
         {
             Event  = new TrackerAsset.TrackerEvent.TraceVerb(TrackerAsset.Verb.Accessed),
             Target = new TrackerAsset.TrackerEvent.TraceObject(Accessible.Accessible.ToString().ToLower(), reachableId)
         });
     }
 }
Beispiel #4
0
 /// <summary>
 /// Player initialized a completable.
 /// </summary>
 /// <param name="completableId">Completable identifier.</param>
 public void Initialized(string completableId)
 {
     if (tracker.Utils.check <TargetXApiException>(completableId, "xAPI Exception: Target ID is null or empty. Ignoring.", "xAPI Exception: Target ID can't be null or empty."))
     {
         tracker.Trace(new TrackerAsset.TrackerEvent(tracker)
         {
             Event  = new TrackerAsset.TrackerEvent.TraceVerb(TrackerAsset.Verb.Initialized),
             Target = new TrackerAsset.TrackerEvent.TraceObject(Completable.Completable.ToString().ToLower(), completableId)
         });
     }
 }
Beispiel #5
0
        public void TestTrace_Generic_Csv_01()
        {
            ChangeFormat(TrackerAsset.TraceFormats.csv);

            asset.Trace(trace01);
            asset.Flush();

            string csv = storage.Load(settings.LogFile);

            string[] splitted = csv.Split(new string[] { "\r\n" }, StringSplitOptions.None);

            Assert.AreEqual(splitted[splitted.Length - 2], trace01.TimeStamp.ToString() + ",accessed,gameobject,ObjectID");
        }