public void AddMarkerMedia(ResourceActivationContext context, VisualMarkerMedia resource) { if (!CheckAdapter()) { return; } if (resource.MediaElement == null || resource.MediaElement.MediaUrl == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers.OfType <IVisualMarker>()) { if (marker != null) { var media = new MarkerMedia { ActivationContext = context, Marker = marker, MediaLayout = resource.MediaElement.Layout, MediaType = resource.MediaElement.MediaItem.MediaType, MediaUrl = resource.MediaElement.MediaUrl, Color = resource.MediaElement.Color, ObjectId = context.InstanceId, OnOpen = () => { context.Open(); }, OnSelect = () => { context.FireEvent("select"); }, OnClose = () => { context.Close(); } }; AddMarkerMedia(media); } } }
internal void RemoveMarkerMedia(ResourceActivationContext context, VisualMarkerMedia resource) { if (resource.MediaElement == null || resource.MediaElement.MediaUrl == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers.OfType <IVisualMarker>()) { if (marker != null) { m_activeResourceMedia.RemoveWhere(marker.GetIdentifier(), c => c.ObjectId == context.InstanceId); } } RemoveResourceObjects(context.InstanceId); }
internal void RemoveMarkerMedia(ResourceActivationContext context, VisualMarkerMedia resource) { if (resource.MediaElement == null || resource.MediaElement.MediaUrl == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers) { var vumark = marker as IVuforiaMarker; if (vumark != null) { m_activeResourceMedia.RemoveWhere(vumark.Identifier, c => c.ObjectId == context.InstanceId); } } RemoveResourceObjects(context.InstanceId); }