private VuMarkTarget CreateVuMarkTarget(VuforiaManagerImpl.VuMarkTargetData newVuMark)
        {
            VuMarkTemplateImpl template = (VuMarkTemplateImpl)this.GetVuMarkTemplate(newVuMark.templateId);
            uint dataLength             = newVuMark.instanceId.dataLength;

            byte[] array = new byte[dataLength];
            if (array.Length != 0)
            {
                Marshal.Copy(newVuMark.instanceId.buffer, array, 0, array.Length);
            }
            return(new VuMarkTargetImpl(newVuMark.id, array, newVuMark.instanceId.numericValue, (InstanceIdType)newVuMark.instanceId.dataType, dataLength, template));
        }
 private void UpdateNewVuMarks(VuforiaManagerImpl.VuMarkTargetData[] newVuMarks)
 {
     for (int i = 0; i < newVuMarks.Length; i++)
     {
         VuforiaManagerImpl.VuMarkTargetData newVuMark = newVuMarks[i];
         VuMarkTarget vuMarkTarget = this.CreateVuMarkTarget(newVuMark);
         this.mActiveVuMarkTargets.Add(vuMarkTarget);
         if (this.mOnVuMarkDetected != null)
         {
             this.mOnVuMarkDetected.InvokeWithExceptionHandling(vuMarkTarget);
         }
     }
 }