internal void Add3DAsset(ResourceActivationContext context, VisualMarker3DAsset resource) { if (!CheckAdapter()) { return; } if (resource.AssetInstance == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers) { var vumark = marker as IVisualMarker; if (vumark != null) { var asset = new MarkerAsset { ActivationContext = context, AssetInstance = resource.AssetInstance, Marker = vumark, MediaLayout = resource.FallbackImage == null ? null : resource.FallbackImage.Layout, MediaUrl = resource.FallbackImage == null ? null : resource.FallbackImage.MediaUrl, ObjectId = context.InstanceId, OnOpen = () => { context.Open(); }, OnSelect = () => { context.FireEvent("select"); }, OnClose = () => { context.Close(); } }; Add3DAsset(asset); } } }
internal void Remove3DAsset(ResourceActivationContext context, VisualMarker3DAsset resource) { if (resource.AssetInstance == null || resource.AssetInstance.Asset == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers.OfType <IVisualMarker>()) { if (marker != null) { m_activeResourceAssets.RemoveWhere(marker.GetIdentifier(), c => c.ObjectId == context.InstanceId); } } RemoveResourceObjects(context.InstanceId); }
internal void Remove3DAsset(ResourceActivationContext context, VisualMarker3DAsset resource) { if (resource.AssetInstance == null || resource.AssetInstance.Asset == null || resource.Markers == null) { return; } foreach (var marker in resource.Markers) { var vumark = marker as IVuforiaMarker; if (vumark != null) { m_activeResourceAssets.RemoveWhere(vumark.Identifier, c => c.ObjectId == context.InstanceId); } } RemoveResourceObjects(context.InstanceId); }