/// <summary> /// Updates a variant set using patch semantics. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) /// Documentation https://developers.google.com/genomics/v1/reference/variantsets/patch /// Generation Note: This does not always build corectly. Google needs to standardise things I need to figuer out which ones are wrong. /// </summary> /// <param name="service">Authenticated genomics service.</param> /// <param name="variantSetId">The ID of the variant to be updated (must already exist).</param> /// <param name="body">A valid genomics v1 body.</param> /// <param name="optional">Optional paramaters.</param> /// <returns>VariantSetResponse</returns> public static VariantSet Patch(genomicsService service, string variantSetId, VariantSet body, VariantsetsPatchOptionalParms optional = null) { try { // Initial validation. if (service == null) { throw new ArgumentNullException("service"); } if (body == null) { throw new ArgumentNullException("body"); } if (variantSetId == null) { throw new ArgumentNullException(variantSetId); } // Building the initial request. var request = service.Variantsets.Patch(body, variantSetId); // Applying optional parameters to the request. request = (VariantsetsResource.PatchRequest)SampleHelpers.ApplyOptionalParms(request, optional); // Requesting data. return(request.Execute()); } catch (Exception ex) { throw new Exception("Request Variantsets.Patch failed.", ex); } }
private static void MapViewToRelativePath(Type viewType, string relativePath, string guid, VariantSet assetVariants, VariantSet allVariants, Manifest manifest) { var viewVariants = GetVariantsFromType(viewType, allVariants); var variants = viewVariants.UnionWith(assetVariants); var uri = GetUriFromRelativePath(relativePath, manifest.UriPrefix); var mapping = new ViewToPrefabMapping(viewType, uri, guid, variants); manifest.ViewsToPrefabs.Add(mapping); }
/// <summary> /// Returns a clone of this object, with extra variants. /// </summary> public static Options With(this Options This, VariantSet variants) { if (variants.Count == 0) { return(This); } var clone = Options.Clone(This); clone.Variants = This?.Variants.UnionWith(variants) ?? variants; return(clone); }
private static VariantSet GetVariantsFromRelativePath(string relativePath, Manifest manifest, VariantSet allVariants) { var allTokens = relativePath .Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); var variantNames = allTokens .Take(allTokens.Length - 1) .Select(x => x.ToLower()) .ToList(); return(GetVariantsFromNames(variantNames, allVariants)); }
private static void MapModelToViewModel(Manifest manifest, Type modelType, Type viewModelType, VariantSet allVariants) { if (modelType == null) { return; } var variants = GetVariantsFromTypes(modelType, viewModelType, allVariants); var mapping = new TypeToTypeMapping(modelType, viewModelType, variants); manifest.ModelsToViewModels.Add(mapping); }
private static VariantSet GetVariantsFromType(Type type, VariantSet allVariants) { var attributes = type .GetAttributes <VariantAttribute>() .Select(x => x.Variant) .ToList(); if (!attributes.Any()) { return(new VariantSet()); } return(allVariants .Where(variant => attributes.Contains(variant.Name)) .ToVariantSet()); }
public static void VerifyVariantSet(String mediaType, VariantSet thisV, bool recurse) { Assert.IsNotNull(thisV); Uri aboutURI = thisV.GetAbout(); DateTime?createdDate = thisV.GetCreated(); Variant[] variants = thisV.GetVariants(); String identifierString = thisV.GetIdentifier(); String titleString = thisV.GetTitle(); Uri[] rdfTypesURIs = thisV.GetRdfTypes(); Uri serviceProviderURI = thisV.GetServiceProvider(); Assert.IsNotNull(aboutURI); Assert.IsNotNull(createdDate); Assert.IsNotNull(variants); Assert.IsNotNull(titleString); Assert.IsNotNull(rdfTypesURIs); Assert.IsNotNull(serviceProviderURI); Assert.IsTrue(aboutURI.ToString().EndsWith(identifierString)); Assert.IsTrue(rdfTypesURIs.Contains(new Uri(OSLC_ARVIDA.Constants.Scene.TYPE_SCENE_VARIANT_SET))); if (recurse) { OslcRestClient aboutOSLCRestClient = new OslcRestClient(FORMATTERS, aboutURI, mediaType); VerifyVariantSet(mediaType, aboutOSLCRestClient.GetOslcResource <VariantSet>(), false); OslcRestClient serviceProviderOSLCRestClient = new OslcRestClient(FORMATTERS, serviceProviderURI, mediaType); ServiceProvider serviceProvider = serviceProviderOSLCRestClient.GetOslcResource <ServiceProvider>(); Assert.IsNotNull(serviceProvider); } }
/// <summary> /// Creates a new variant set. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The provided variant set must have a valid `datasetId` set - all other fields are optional. Note that the `id` field will be ignored, as this is assigned by the server. /// Documentation https://developers.google.com/genomics/v1/reference/variantsets/create /// Generation Note: This does not always build corectly. Google needs to standardise things I need to figuer out which ones are wrong. /// </summary> /// <param name="service">Authenticated genomics service.</param> /// <param name="body">A valid genomics v1 body.</param> /// <returns>VariantSetResponse</returns> public static VariantSet Create(genomicsService service, VariantSet body) { try { // Initial validation. if (service == null) { throw new ArgumentNullException("service"); } if (body == null) { throw new ArgumentNullException("body"); } // Make the request. return(service.Variantsets.Create(body).Execute()); } catch (Exception ex) { throw new Exception("Request Variantsets.Create failed.", ex); } }
private static void MapViewsToPrefabWithGuid(string guid, Manifest manifest, VariantSet allVariants) { string prefabPath = AssetDatabase.GUIDToAssetPath(guid); var relativePath = GetRelativePrefabPath(prefabPath, manifest.PrefabsPath); var asset = AssetDatabase.LoadAssetAtPath <GameObject>(prefabPath); var views = asset.GetComponents <IView>().ToList(); if (!views.Any()) { Debug.LogWarning($"Skipping non-view prefab: {prefabPath}"); return; } var assetVariants = GetVariantsFromRelativePath(relativePath, manifest, allVariants); foreach (var view in views) { MapViewToRelativePath(view.GetType(), relativePath, guid, assetVariants, allVariants, manifest); } }
/// <summary> /// Gets the full IMC information for a given item /// </summary> /// <param name="item"></param> /// <param name="modelInfo"></param> /// <returns>The ImcData data</returns> public async Task <ImcData> GetFullImcInfo(IItemModel item, XivModelInfo modelInfo) { var index = new Index(_gameDirectory); var dat = new Dat(_gameDirectory); var itemType = ItemType.GetItemType(item); var imcPath = GetImcPath(modelInfo, itemType); var imcOffset = await index.GetDataOffset(HashGenerator.GetHash(imcPath.Folder), HashGenerator.GetHash(imcPath.File), _dataFile); if (imcOffset == 0) { throw new Exception($"Could not find offset for {imcPath.Folder}/{imcPath.File}"); } var imcByteData = await dat.GetType2Data(imcOffset, _dataFile); return(await Task.Run(() => { using (var br = new BinaryReader(new MemoryStream(imcByteData))) { var imcData = new ImcData() { VariantCount = br.ReadInt16(), Unknown = br.ReadInt16(), GearVariantList = new List <VariantSet>() }; //weapons and monsters do not have variant sets if (itemType == XivItemType.weapon || itemType == XivItemType.monster) { imcData.OtherVariantList = new List <XivImc>(); imcData.DefaultVariant = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }; for (var i = 0; i < imcData.VariantCount; i++) { imcData.OtherVariantList.Add(new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }); } } else { imcData.GearVariantList = new List <VariantSet>(); imcData.DefaultVariantSet = new VariantSet { Slot1 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot2 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot3 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot4 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot5 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, }; for (var i = 0; i < imcData.VariantCount; i++) { // gets the data for each slot in the current variant set var imcGear = new VariantSet { Slot1 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot2 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot3 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot4 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, Slot5 = new XivImc { Version = br.ReadUInt16(), Mask = br.ReadUInt16(), Vfx = br.ReadUInt16() }, }; imcData.GearVariantList.Add(imcGear); } } return imcData; } })); }
private TypeToUriMapping CreateMapping <T>(Uri prefabUri, VariantSet explicitVariants = null) => new TypeToUriMapping(typeof(T), prefabUri, explicitVariants ?? Empty);
private TypeToTypeMapping CreateMapping <T, U>(VariantSet explicitVariants = null, VariantSet implicitVariants = null) => new TypeToTypeMapping(typeof(T), typeof(U), explicitVariants ?? Empty) { ImplicitVariants = implicitVariants ?? Empty };
private static VariantSet GetVariantsFromTypes(Type type1, Type type2, VariantSet allVariants) { return(GetVariantsFromType(type1, allVariants) .UnionWith(GetVariantsFromType(type2, allVariants))); }
private static VariantSet GetVariantsFromNames(List <string> names, VariantSet allVariants) { return(allVariants .Where(x => names.Contains(x.Name.ToLower())) .ToVariantSet()); }
private ViewToPrefabMapping CreateMapping <T>(Uri prefabUri, VariantSet explicitVariants = null) => new ViewToPrefabMapping(typeof(T), prefabUri, null, explicitVariants ?? Empty);
private static void MapViewModelToView(Manifest manifest, Type viewModelType, Type viewType, VariantSet allVariants) { var variants = GetVariantsFromTypes(viewModelType, viewType, allVariants); var mapping = new TypeToTypeMapping(viewModelType, viewType, variants); manifest.ViewModelsToViews.Add(mapping); }
public VariantsPresenterDecorator(IPresenter presenter, VariantSet variants) : base(presenter) { _variants = variants; }