/// <summary> /// バリアントキャッシュ作成 /// </summary> private void PrepareVariantCache() { var variantsInfoListDictionay = new Dictionary <string, List <VariantInfo> >(); foreach (var assetBundleWithVariantIndex in m_AllAssetBundleWithVariantIndices) { var assetBundleWithVariant = m_AllAssetBundleNames[assetBundleWithVariantIndex]; var variantPair = assetBundleWithVariant.Split('.'); if (variantPair.Length != 2) { continue; } var info = new VariantInfo { assetBundle = variantPair[0] , assetBundleWithVariant = assetBundleWithVariant , Variant = variantPair[1] }; List <VariantInfo> variantsInfoList; if (!variantsInfoListDictionay.TryGetValue(info.assetBundle, out variantsInfoList)) { variantsInfoList = new List <VariantInfo>(); variantsInfoListDictionay[info.assetBundle] = variantsInfoList; } variantsInfoList.Add(info); } m_VariantsCache = variantsInfoListDictionay.ToDictionary(x => x.Key, x => x.Value.ToArray()); }
protected override void OnLoad(System.EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { string ids = Request["id"]; Variant result = MTApp.CatalogServices.ProductVariants.Find(ids); if (result != null) { Product p = MTApp.CatalogServices.Products.Find(result.ProductId); VariantInfo output = new VariantInfo(); output.Bvin = result.Bvin; output.Sku = result.Sku; if (output.Sku == string.Empty) { output.Sku = p.Sku; } output.Price = result.Price; if (output.Price < 0) { output.Price = p.SitePrice; } output.ImageUrl = MerchantTribe.Commerce.Storage.DiskStorage.ProductVariantImageUrlMedium(this.MTApp, p.Bvin, p.ImageFileSmall, result.Bvin, true); foreach (string s in result.SelectionNames(p.Options.VariantsOnly())) { output.Description += s + ", "; } this.litOutput.Text = MerchantTribe.Web.Json.ObjectToJson(output); } } }
public void GetMnvFilterTag_SampleWithFailedMnv_MakredAsFailed() { var sampleFilterFailed = new[] { new List <bool> { true, false } }; var variantInfo = new VariantInfo(null, null, null, null, null, sampleFilterFailed); Assert.Equal(VariantInfo.FailedFilterTag, variantInfo.GetMnvFilterTag()); }
public void GetMnvFilterTag_PassedSampleOverrideFailedSample() { var sampleFilterFailed = new[] { new List <bool> { true, false }, new List <bool> { false, false } }; var variantInfo = new VariantInfo(null, null, null, null, null, sampleFilterFailed); Assert.Equal("PASS", variantInfo.GetMnvFilterTag()); }
public void LoadVariant(VariantInfo variant) { var handTypes = variant.VariantLowBet.HandTypes().Select(ht => ht.ToFriendlyString().Replace("s", "<size=90>S</size>").Replace("w", "<size=90>W</size>")); Texts[0].text = handTypes.Join("\n"); for (int i = 1; i <= 5; i++) { var subvariant = variant.VariantIfUsingMaxBet(i == 5); Texts[i].text = subvariant.HandTypes().Select(ht => subvariant.PayoutForResult(ht) * i).Join("\n"); } }
// 把list转为array设置给variantinfo对象 // private static void SetKeywordAndPasstype(VariantInfo tempInfo, List <string> tempKeywordList, List <PassType> tempPassTypeList) { if (tempInfo != null) { if (tempKeywordList != null && tempPassTypeList != null && tempKeywordList.Count == tempPassTypeList.Count) { tempInfo.keywords = tempKeywordList.ToArray(); tempInfo.passType = tempPassTypeList.ToArray(); } } }
private void UpdateUserViewVariantsAction() { bool hasViewVariants = (GetVariantsInfo() != null); UserViewVarintsAction.Items.FindItemByID(STR_DeleteViewVariant_Id).Enabled[STR_HasViewVariants_EnabledKey] = UserViewVarintsAction.Items.FindItemByID(STR_EditViewVariant_Id).Enabled[STR_HasViewVariants_EnabledKey] = hasViewVariants; if ((changeVariantController != null) && changeVariantController.ChangeVariantAction.SelectedItem != null) { VariantInfo variantInfo = (VariantInfo)changeVariantController.ChangeVariantAction.SelectedItem.Data; UserViewVarintsAction.Items.FindItemByID(STR_DeleteViewVariant_Id).Enabled[STR_IsRootViewVariant_EnabledKey] = variantInfo.ViewID != GetRootViewId(); } }
public string GetDeviceVariant(ReadOnlyCollection <string> aPcbNumberList) { lock (iLock) { VariantInfo result = null; string variantName = string.Empty; foreach (VariantInfo i in iVariantInfoList) { foreach (string s in aPcbNumberList) { if (i.Pcas == s) { // can't just break when we find the first match as this wouldn't work for Renew products (it would match the base product first) result = i; } } if (result != null) { if (string.IsNullOrEmpty(result.BasePcas)) { // Pcas match found, can't exit here as it may be a Renew variantName = result.Name; } else { foreach (string s in aPcbNumberList) { if (i.BasePcas == s) { // Pcas match found and BasePcas match found = gauranteed to be a Renew product (so exit here) return(result.Name); } } } } } return(variantName); } }
void ChangeVariantActionOnSelectedItemChanged(object sender, EventArgs eventArgs) { if (_changeVariantController.ChangeVariantAction.SelectedItem != null) { _rootListView = FindRootListView(); _currentVariantInfo = (VariantInfo)_changeVariantController.ChangeVariantAction.SelectedItem.Data; var items = _modifyVariantsAction.Items; if (_currentVariantInfo.Id == DefaultVariantId) { UpdateActionState(); } else { foreach (var item in items) { item.Enabled[DefaultVariantId] = true; } } } }
public void UpdateSampleFilters_AsExpected() { var positionFilters = new[] { "PASS", "FAILED", "." }; var sampleFilterFailed = new[] { new List <bool>(), new List <bool>() }; var variantInfo = new VariantInfo(null, positionFilters, null, null, null, sampleFilterFailed); variantInfo.UpdateSampleFilters(new[] { 0, 2 }, new List <SampleHaplotype> { new SampleHaplotype(0, 0), new SampleHaplotype(1, 1) }); variantInfo.UpdateSampleFilters(new[] { 0, 1, 2 }, new List <SampleHaplotype> { new SampleHaplotype(0, 1) }); Assert.Equal(2, sampleFilterFailed.Length); Assert.Equal(2, sampleFilterFailed[0].Count); Assert.Single(sampleFilterFailed[1]); Assert.False(sampleFilterFailed[0][0]); Assert.True(sampleFilterFailed[0][1]); Assert.False(sampleFilterFailed[1][0]); }
private static void CreateSVC(string svcFileName, List <VariantInfo> variantInfos) { if (variantInfos == null || variantInfos.Count == 0) { return; } ShaderVariantCollection athenaSVC = new ShaderVariantCollection(); for (int i = 0; i < variantInfos.Count; i++) { VariantInfo info = variantInfos[i]; if (info == null || info.keywords == null) { continue; } for (int j = 0; j < info.keywords.Length; j++) { ShaderVariantCollection.ShaderVariant variant = new ShaderVariantCollection.ShaderVariant() { shader = info.shader, keywords = new string[1] { info.keywords[j] }, passType = info.passType[j], }; athenaSVC.Add(variant); } } // CreateAsset 的path参数要传 “Assets/Dir/file.postfix" 形式 // // 不能用 Application.dataPath + "/dIR/FILE.postfix" 形式 // #if UNITY_EDITOR AssetDatabase.CreateAsset(athenaSVC, "Assets/KeywordAndMultiCompile/" + svcFileName); AssetDatabase.Refresh(); #endif }
void ChangeVariantActionOnSelectedItemChanged(object sender, EventArgs eventArgs) { if (_changeVariantController.ChangeVariantAction.SelectedItem != null) { _rootListView = FindRootListView(); _currentVariantInfo = (VariantInfo)_changeVariantController.ChangeVariantAction.SelectedItem.Data; var items = _viewVariantsChoiceAction.Items; if (_currentVariantInfo.Id == DefaultVariantId) { var choiceActionItems = items.Where(item => ReferenceEquals(item.Data, Delete)).ToList(); foreach (var choiceActionItem in choiceActionItems) { choiceActionItem.Enabled[DefaultVariantId] = false; } } else { foreach (var item in items) { item.Enabled[DefaultVariantId] = true; } } } }
private void UpdateCheckStart() { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(kUpdatesAvailableUrl); request.Credentials = CredentialCache.DefaultCredentials; request.Proxy.Credentials = CredentialCache.DefaultCredentials; try { request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); } catch { // not supported for all platforms } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); XmlDocument document = new XmlDocument(); document.Load(response.GetResponseStream()); XmlNamespaceManager nsManager = new XmlNamespaceManager(document.NameTable); nsManager.AddNamespace("linn", kLinnNamespace); // get update info foreach (XmlNode n in document.SelectNodes("/rss/channel/" + kReleasedDeviceTag, nsManager)) { string model = n["linn:model"].InnerText; string type = n["linn:type"].InnerText; string version = n["linn:version"].InnerText; //string family = n["linn:family"].InnerText; string url = n["linn:url"].InnerText; UpdateInfo updateInfo = null; if (type == "Main") { updateInfo = new UpdateInfo(model, version, url); if (iUpdateInfo.ContainsKey(model)) { iUpdateInfo[model] = updateInfo; } else { iUpdateInfo.Add(model, updateInfo); } } else if (type == "Proxy") { updateInfo = new UpdateInfo(model, version); if (iUpdateInfoProxy.ContainsKey(model)) { iUpdateInfoProxy[model] = updateInfo; } else { iUpdateInfoProxy.Add(model, updateInfo); } } } // get variant info foreach (XmlNode n in document.SelectNodes("/rss/channel/linn:variantList/linn:variant", nsManager)) { string pcas = n["linn:pcas"].InnerText; string basepcas = null; if (n["linn:basepcas"] != null) { basepcas = n["linn:basepcas"].InnerText; } string name = n["linn:name"].InnerText; VariantInfo variantInfo = new VariantInfo(pcas, basepcas, name); iVariantInfo.Add(variantInfo); } // get release notes request = (HttpWebRequest)WebRequest.Create(kReleaseNotesUrl); request.Credentials = CredentialCache.DefaultCredentials; request.Proxy.Credentials = CredentialCache.DefaultCredentials; try { request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); } catch { // not supported for all platforms } response = (HttpWebResponse)request.GetResponse(); document = new XmlDocument(); document.Load(response.GetResponseStream()); iReleaseNotesXml = document.OuterXml; Lock(); iUpdateCheckThread = null; Unlock(); iUpdateCheckComplete = true; iUpdateCheckFailed = false; if (EventUpdateCheckComplete != null) { EventUpdateCheckComplete(this, EventArgs.Empty); } } catch (Exception e) { Lock(); iUpdateCheckThread = null; Unlock(); iUpdateCheckFailed = true; if (EventUpdateCheckError != null) { EventUpdateCheckError(this, new EventArgsUpdateError(e.Message)); } } }
Texture2D GetCursorIcon(VariantInfo info, bool isHovering) => isHovering ? info.Hover : info.Default;
/// <summary> /// This function trigges when an interpretation is double clicked. /// It prepares the annotation and spectrum viewer panels. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void triggerSpectrumViewer(object sender, EventArgs e) { // Get the current row DataGridViewRow row = spectraGrid.CurrentRow; if (row != null) { // Get the result and variant objects associated with this row Object[] tags = row.Tag as Object[]; SpectrumInfo spectrum = tags[0] as SpectrumInfo; VariantInfo variant = tags[1] as VariantInfo; if (spectrum != null && currentSpectraGridSelection != row) { try { // Resolve the spectrum source var source = Path.GetFileNameWithoutExtension(spectrum.id.source.name); var paths = Properties.Settings.Default.SourcePath.Split(";".ToCharArray()); var matches = Util.FindFileInSearchPath(source, new string[] { "mzXML", "mzML", "mgf", "RAW" }, paths.ToArray(), true); if (matches.Length == 0) { MessageBox.Show("Can't find source. Set the source folder path."); } else { // Convert the interpretation for seems compatibility var interpetation = variant.ToSimpleString(); interpetation = interpetation.Replace('(', '['); interpetation = interpetation.Replace(')', ']'); splitContainer4.Panel2.Hide(); splitContainer1.Panel2.Hide(); splitContainer5.Panel1.Hide(); splitContainer5.Panel2.Hide(); Application.DoEvents(); UniqueSpectrumID uniqueSpectrumID; // Create a spectrum viewer and add its components if (spectrum.nativeID != null && spectrum.nativeID.Length > 0) { currentSpectrumViewer = new SpectrumViewer(matches[0], spectrum.nativeID, interpetation); uniqueSpectrumID = new UniqueSpectrumID(source, spectrum.nativeID, spectrum.id.charge); } else { currentSpectrumViewer = new SpectrumViewer(matches[0], spectrum.id.index, interpetation); uniqueSpectrumID = new UniqueSpectrumID(source, spectrum.id.index, spectrum.id.charge); } splitContainer4.Panel2.Controls.Clear(); splitContainer4.Panel2.Controls.Add(currentSpectrumViewer.annotationPanel); splitContainer5.Panel1.Controls.Clear(); splitContainer5.Panel1.Controls.Add(currentSpectrumViewer.spectrumPanel); splitContainer5.Panel2.Controls.Clear(); splitContainer5.Panel2.Controls.Add(currentSpectrumViewer.fragmentationPanel); splitContainer5.Panel2.AutoScroll = true; splitContainer1.Panel2.Controls.Add(splitContainer5); splitContainer1.Panel2.Show(); splitContainer4.Panel2.Show(); splitContainer5.Panel1.Show(); splitContainer5.Panel2.Show(); Application.DoEvents(); // If we have a seconday result associated with this spectrum, // set the mechanism in spectrum viewer to see it. if (alternativeInterpretations != null) { if (alternativeInterpretations.Contains(uniqueSpectrumID)) { VariantInfo alt = alternativeInterpretations[uniqueSpectrumID]; interpetation = alt.ToSimpleString(); interpetation = interpetation.Replace('(', '['); interpetation = interpetation.Replace(')', ']'); currentSpectrumViewer.setSecondarySequence(interpetation); } } currentSpectraGridSelection = row; } } catch (Exception exp) { MessageBox.Show(exp.StackTrace); MessageBox.Show("Failed to show spectrum. Check raw data path."); } } } }
private static List <VariantInfo> StripRedundantVariant(string svcFilePath, ShaderGUIDInfo[] shaderGUIDs) { if (string.IsNullOrEmpty(svcFilePath) || shaderGUIDs == null || shaderGUIDs.Length == 0) { return(null); } if (!File.Exists(svcFilePath)) { return(null); } string[] lines = File.ReadAllLines(svcFilePath); List <VariantInfo> result = new List <VariantInfo>(); // temp 变量 // VariantInfo tempInfo = null; List <string> tempKeywordList = null; List <PassType> tempPassTypeList = null; // 逻辑: 遇到 guid 行时,把tempKeywordList和tempPassTypeList转换成数组,设置给tempInfo, 再把tempInfo添加到result列表里 // int skipLineNum = 0; bool parseLine = false; for (int i = 0; i < lines.Length; i++) { if (skipLineNum > 0) { skipLineNum--; parseLine = true; continue; } string line = lines[i]; int guidInfoIndex = LineContainsGUID(line, shaderGUIDs); bool findGUID = (guidInfoIndex != -1); if (findGUID) { skipLineNum = 2; parseLine = false; SetKeywordAndPasstype(tempInfo, tempKeywordList, tempPassTypeList); tempInfo = new VariantInfo() { }; tempInfo.shader = shaderGUIDs[guidInfoIndex].shader; tempKeywordList = new List <string>(); tempPassTypeList = new List <PassType>(); result.Add(tempInfo); continue; } if (parseLine) { if (line.Contains("keywords") && tempInfo != null && tempKeywordList != null) { tempKeywordList.Add(GetKeywords(line)); } else if (line.Contains("passType") && tempInfo != null && tempPassTypeList != null) { tempPassTypeList.Add(GetPassType(line)); } } bool islastLine = (i == lines.Length - 1); if (islastLine) { SetKeywordAndPasstype(tempInfo, tempKeywordList, tempPassTypeList); break; } } return(result); }