public void MigrateAspectDataToEcoData(EconomyRequestFacade ecoData, string branchKey) { var targetDic = ecoData.EconomyTierlistOverview[branchKey]; foreach (var keyValuePair in this.EconomyTierListOverview[branchKey]) { var baseType = keyValuePair.Key; var sourceItemList = keyValuePair.Value; if (!targetDic.ContainsKey(baseType)) { targetDic.Add(baseType, new ItemList <NinjaItem>()); } var targetItems = targetDic[baseType]; foreach (var sourceItem in sourceItemList.GroupBy(x => x.Name).Select(x => x.First())) { var targetItem = targetItems.Where(x => sourceItem.Equals(x)).ToList(); if (targetItem.Count == 0) { var newItem = new NinjaItem { BaseType = baseType, Name = sourceItem.Name, IsVirtual = true }; targetItems.Add(newItem); targetItem.Add(newItem); } targetItem.ForEach(x => x.Aspects = new ObservableCollection <IItemAspect>(sourceItem.Aspects)); } } }
private float AdjustPriceBasedOn(NinjaItem item, Func <NinjaItem, bool> rule, float factor) { if (rule(item)) { return(factor); } else { return(0); } }
private void RefreshAspects(ContentControl control) { NinjaItem item = (ItemVariationTable.SelectedItem as NinjaItem); var clickedAspect = (control.DataContext as AbstractItemAspect); if (item.Aspects.Any(x => x.Name == clickedAspect.Name)) { item.Aspects.RemoveAll(x => x.Name == clickedAspect.Name); } else { item.Aspects.Add(this.AvailableAspects.First(x => clickedAspect.Name == x.Name)); } RefreshAspectColoration(); }
internal void ToggleTag(string v) { NinjaItem item = (ItemVariationTable.SelectedItem as NinjaItem); if (item != null) { ItemVariationTable.SelectedItem = ItemVariationTable.Items[0]; } if (!item.HasAspect(v)) { item.Aspects.Add(this.AvailableAspects.Where(x => x.Name == v).First()); } else { item.Aspects.Remove(this.AvailableAspects.Where(x => x.Name == v).First()); } this.RefreshAspectColoration(); }
public static IEnumerable <NinjaItem> ParseNinjaString(string input) { dynamic jsonObj = JsonConvert.DeserializeObject <dynamic>(input, new JsonSerializerSettings() { CheckAdditionalContent = true }); if (jsonObj == null) { yield break; } foreach (JObject job in jsonObj.lines) { NinjaItem nItem = new NinjaItem(); job["explicitModifiers"] = job["explicitModifiers"].ToString(); JsonConvert.PopulateObject(job.ToString(), nItem); yield return(nItem); } }
public static IEnumerable <NinjaItem> ParseNinjaString(string input, string branchKey) { dynamic jsonObj = JsonConvert.DeserializeObject <dynamic>(input, new JsonSerializerSettings() { CheckAdditionalContent = true }); if (jsonObj == null) { yield break; } if (branchKey.ToLower() == "currency") { JObject jo = new JObject(jsonObj); CurrencyNinjaItem nCItem = new CurrencyNinjaItem(); JsonConvert.PopulateObject(jo.ToString(), nCItem); foreach (var item in nCItem.ToNinjaItems()) { yield return(item); } yield break; } foreach (JObject job in jsonObj.lines) { NinjaItem nItem = new NinjaItem(); if (job.ContainsKey("explicitModifiers")) { job["explicitModifiers"] = job["explicitModifiers"].ToString(); } JsonConvert.PopulateObject(job.ToString(), nItem); yield return(nItem); } }