public static Polyface IsHasItemValidator(this Polyface root, IItemValidator validator) { Condition.Requires(root).IsNotNull(); var obj = HasItemValidator.New(validator); root.Is(obj); return root; }
public static Dictionary <string, List <T> > MapSheetToDictionary <T>(this string content, List <string> ignores, IItemValidator itemValidator = null) { Dictionary <string, List <T> > cache = new Dictionary <string, List <T> >(); if (itemValidator == null) { itemValidator = new DefaultItemValidator(); } JsonData obj = JsonMapper.ToObject(content); foreach (var objKey in obj.Keys) { JsonData rateData = obj[objKey]; if (!ignores.Contains(objKey)) { Dictionary <string, T> d = new Dictionary <string, T>(); foreach (string key in rateData.Keys) { T v = MapData <T>(rateData[key]); d.Add(key, v); } cache.Add(objKey, SortDictionary(d, itemValidator)); } } return(cache); }
public IncreaseInQualityItemValidator( IEnumerable <string> increaseInQualityItemNames, IItemValidator regularItemValidator) { _increaseInQualityItemNames = increaseInQualityItemNames; _regularItemValidator = regularItemValidator; }
public ItemsWriteService( IItemsRepository itemsRepository, IItemValidator itemValidator ) { _itemsRepository = itemsRepository; _itemValidator = itemValidator; }
public ItemService( IUOW UOW, IItemValidator ItemValidator ) { this.UOW = UOW; this.ItemValidator = ItemValidator; }
public IEnumerable <Item> GetItems(IItemValidator validator) { if (validator == null) { throw new ArgumentNullException("validator"); } return(this.GetItems(new Predicate <Item>(validator.IsValid))); }
public static Polyface IsHasItemValidator(this Polyface root, IItemValidator validator) { Condition.Requires(root).IsNotNull(); var obj = HasItemValidator.New(validator); root.Is(obj); return(root); }
public static Item FindItem(IItemValidator validator) { if (validator == null) { throw new ArgumentNullException("validator"); } return(World.FindItem(new Predicate <Item>(validator.IsValid))); }
public QuickLaunchApi( IRepo repo, IItemValidator validator, BaseHandler[] handlers, QuickLaunchAppConfig config) { _repo = repo; _validator = validator; _handlers = handlers.ToDictionary(h => h.HandlerKey); }
public GItemCounter(ItemIDValidator v) : base(0, 0, 100, 20) { this.m_Validator = v; this.m_Image = new GItemArt(3, 3, v.List[0]); this.m_Label = new GLabel("", Engine.DefaultFont, Hues.Bright, 0, 0); this.m_Image.X -= this.m_Image.Image.xMin; this.m_Image.Y -= this.m_Image.Image.yMin; base.m_Children.Add(this.m_Image); base.m_Children.Add(this.m_Label); this.m_LastAmount = -2147483648; }
public GItemCounter(ItemIDValidator v) : base(0, 0, 100, 20) { this.m_Validator = (IItemValidator)v; this.m_Image = new GItemArt(3, 3, v.List[0]); this.m_Label = new GLabel("", Engine.DefaultFont, Hues.Bright, 0, 0); this.m_Image.X -= this.m_Image.Image.xMin; this.m_Image.Y -= this.m_Image.Image.yMin; this.m_Children.Add((Gump)this.m_Image); this.m_Children.Add((Gump)this.m_Label); this.m_LastAmount = int.MinValue; }
public static Item FindItem(IItemValidator check) { IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item)enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { return(current); } } return(null); }
public static List <T> SortDictionary <T>(Dictionary <string, T> dict, IItemValidator validator = null) { List <T> ret = new List <T>(); foreach (KeyValuePair <string, T> valuePair in dict) { if (validator == null || validator.IsValid(valuePair.Value)) { ret.Add(valuePair.Value); } } return(ret); }
public Item FindEquip(IItemValidator check) { ArrayList equip = this.m_Equip; int count = equip.Count; for (int i = 0; i < count; i++) { EquipEntry entry = (EquipEntry)equip[i]; if (check.IsValid(entry.m_Item)) { return(entry.m_Item); } } return(null); }
public Item[] FindItems(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } ArrayList dataStore = Engine.GetDataStore(); Queue queue = m_FindItems_Queue; if (queue == null) { queue = m_FindItems_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { dataStore.Add(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item)queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item)items[i]; if (check.IsValid(item2)) { dataStore.Add(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } Item[] itemArray = (Item[])dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return(itemArray); }
public static Item[] FindItems(IItemValidator check) { ArrayList dataStore = Engine.GetDataStore(); IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item)enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { dataStore.Add(current); } } Item[] itemArray = (Item[])dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return(itemArray); }
public Item FindItem(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } Queue queue = m_FindItem_Queue; if (queue == null) { queue = m_FindItem_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { return(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item)queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item)items[i]; if (check.IsValid(item2)) { return(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } return(null); }
public void Invoke() { Mobile me = World.Player; if (me == null) { return; } Item obj = this.SourceContainer.Find(); if (obj != null) { if (obj.HasContainerContent) { Item onPlayer = this.TargetContainer.FindOnPlayer(); if (onPlayer != null) { if (onPlayer.HasContainerContent) { if (this.ReagentCount <= 0) { return; } foreach (var data in ((IEnumerable <int>)ReagentValidator.Validator.List).Select(itemId => new{ ItemId = itemId, Quantity = this.ReagentCount }).Concat(((IEnumerable <int>)PotionValidator.Validator.List).Select(itemId => new{ ItemId = itemId, Quantity = 15 })).Concat(((IEnumerable <int>) new int[1] { 4129 }).Select(itemId => new{ ItemId = itemId, Quantity = 5 }))) { IItemValidator predicate = (IItemValidator) new PredicateValidator((IItemValidator) new PlayerDistanceValidator((IItemValidator) new PickupValidator((IItemValidator) new ItemIDValidator(new int[1] { data.ItemId })), 2), (Predicate <Item>)(item => { if (item.Parent == null) { return(false); } if (!(item.WorldRoot is Item)) { return(item.WorldRoot == me); } return(true); })); RestockAgent.Transfer(obj, onPlayer, data.Quantity, data.ItemId, predicate); } } else { new OpenRestockContainerContext(onPlayer).Enqueue(); } } else { TargetManager.Client = (ClientTargetHandler) new SetRestockTargetTargetHandler(true); Engine.AddTextMessage("Target your lootbag."); } } else { new OpenRestockContainerContext(obj).Enqueue(); } } else { TargetManager.Client = (ClientTargetHandler) new SetRestockSourceTargetHandler(true); Engine.AddTextMessage("Target your restock source container."); } }
private static void Transfer(Item sourceContainer, Item targetContainer, int amountDesired, int itemId, IItemValidator predicate) { Mobile player = World.Player; if (player == null) { return; } Item backpack = player.Backpack; if (backpack == null) { return; } Item pickUp1 = targetContainer.FindItem(predicate); Point point; bool flag = Player.Current.OrganizeAgent.GetTemplate().TryGetValue(itemId, out point) && point.X != 0 && point.Y != 0; int num = 0; foreach (Item pickUp2 in backpack.FindItems(predicate)) { Item obj = pickUp1 == null || !pickUp1.IsStackable ? targetContainer : pickUp1; MoveContext moveContext = new MoveContext(pickUp2, pickUp2.Amount, (IEntity)obj, false); if (flag) { moveContext.Locate(point.X, point.Y); } moveContext.TryEnqueue(); num += pickUp2.Amount; if (pickUp1 == null) { pickUp1 = pickUp2; } } if (num > amountDesired) { new MoveContext(pickUp1, num - amountDesired, (IEntity)sourceContainer, false).Enqueue(); } else { if (num >= amountDesired) { return; } Item equip = player.FindEquip(Layer.Bank); foreach (Item pickUp2 in sourceContainer.FindItems(predicate)) { if (!pickUp2.IsChildOf((Agent)player) || pickUp2.IsChildOf((Agent)equip)) { int amount = Math.Min(pickUp2.Amount, amountDesired - num); MoveContext moveContext = new MoveContext(pickUp2, amount, (IEntity)targetContainer, false); if (flag) { moveContext.Locate(point.X, point.Y); } moveContext.Enqueue(); num += amount; if (num == amountDesired) { break; } } } if (num >= amountDesired) { return; } Engine.AddTextMessage(string.Format("Unable to find sufficient quantity of {0}.", (object)Localization.GetString(1020000 + (itemId & 16383))), Engine.DefaultFont, Hues.Load(38)); } }
/// <summary> /// adds a commit validator to a store /// </summary> /// <param name="decorated"></param> /// <param name="validator"></param> /// <returns></returns> public static ValidatingDecoration Validates(this IStore decorated, IItemValidator validator) { Condition.Requires(decorated).IsNotNull(); return(new ValidatingDecoration(decorated, validator)); }
public ArtifactValidator(IItemValidator parent) { this.m_Parent = parent; }
public HasItemValidator(IItemValidator validator) { Condition.Requires(validator).IsNotNull(); this.Validator = validator; }
public PickupValidator(IItemValidator parent) { this.m_Parent = parent; }
public PlayerDistanceValidator(IItemValidator parent, int range) { this.m_Parent = parent; this.m_Range = range; }
public static Item[] FindItems(IItemValidator check) { ArrayList dataStore = Engine.GetDataStore(); IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item) enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { dataStore.Add(current); } } Item[] itemArray = (Item[]) dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return itemArray; }
public Item[] FindItems(IItemValidator validator) { return(ScratchList <Item> .ToArray(this.GetItems(validator))); }
public static void DoWalk(Direction d, bool fromRenderer) { fromRenderer = false; if (!m_InResync) { Mobile player = World.Player; if (((player != null) && (player.Walking.Count <= 0)) && ((player.Body == 0x3db) || (m_WalkReq < (m_WalkAck + m_WalkAckSync)))) { if (m_Stealth && (m_StealthSteps == 0)) { if (DateTime.Now >= (m_LastStealthUse + TimeSpan.FromSeconds(2.0))) { Skills[SkillName.Stealth].Use(); m_LastStealthUse = DateTime.Now; } } else { GContextMenu.Close(); int x = player.X; int y = player.Y; int z = player.Z; bool ghost = player.Ghost; bool flag2 = !ghost && ((player.StamCur <= 0) && (player.StamMax > 0)); bool flag3 = !flag2 && ((player.StamCur == 1) && (player.StamMax > 0)); if (flag2 || flag3) { flag2 = flag3 = !UsePotion(PotionType.Red); } if (!flag2) { int num4; int num5; if (m_Stealth) { flag3 = true; } if (!Walking.Calculate(x, y, z, d, out num4, out num5)) { if ((player.Direction & 7) != (num5 & 7)) { WalkAnimation animation = WalkAnimation.PoolInstance(player, player.X, player.Y, player.Z, num5); player.Walking.Enqueue(animation); player.IsMoving = true; animation.Start(); SendMovementRequest(num5, player.X, player.Y, player.Z); if (player.Direction != num5) { EquipSort(player, num5); player.Direction = (byte) num5; } } else { player.MovedTiles = 0; player.HorseFootsteps = 0; player.IsMoving = false; } } else { num5 &= 7; num5 |= (!flag3 && (m_dMouse > (GameWidth / 3))) ? 0x80 : 0; if (!flag3 && World.CharData.AlwaysRun) { num5 |= 0x80; } int num6 = x; int num7 = y; if (fromRenderer || ((num5 & 7) == (player.Direction & 7))) { Walking.Offset(num5, ref num6, ref num7); } else { num4 = player.Z; } if (((m_LeapFrog != null) && !m_LeapFrog.InSquareRange(new Point(num6, num7), 2)) && m_LeapFrog.InSquareRange(x, y, 2)) { if ((m_LastLeapfrogPickup + TimeSpan.FromSeconds(0.1)) < DateTime.Now) { m_LastLeapfrogPickup = DateTime.Now; Walking.Offset(num5, ref num6, ref num7); Network.Send(new PPickupItem(m_LeapFrog, m_LeapFrog.Amount)); Network.Send(new PDropItem(m_LeapFrog.Serial, (short) num6, (short) num7, (sbyte) num4, -1)); } } else { WalkAnimation animation2 = WalkAnimation.PoolInstance(player, num6, num7, num4, num5); player.Walking.Enqueue(animation2); bool isMoving = player.IsMoving; player.IsMoving = true; animation2.Start(); player.SetReal(num6, num7, num4); if (!isMoving && animation2.Advance) { World.Offset(animation2.xOffset, animation2.yOffset); Effects.Offset(animation2.xOffset, animation2.yOffset); } Redraw(); if ((num5 & 7) != (player.Direction & 7)) { SendMovementRequest(num5, player.X, player.Y, player.Z); if (!fromRenderer) { if (player.Direction != num5) { EquipSort(player, num5); player.Direction = (byte) num5; } return; } } if (!ghost && (player.Body != 0x3db)) { MapPackage cache = Map.GetCache(); ArrayList list = cache.cells[num6 - cache.CellX, num7 - cache.CellY]; for (int i = 0; i < list.Count; i++) { ICell cell = (ICell) list[i]; if ((cell is DynamicItem) && ((DynamicItem) cell).m_Item.IsDoor) { Network.Send(new POpenDoor()); break; } } } if (m_Stealth) { m_StealthSteps--; } SendMovementRequest(num5, num6, num7, num4); if (player.Direction != num5) { EquipSort(player, num5); player.Direction = (byte) num5; } if (((Gumps.Drag == null) || (Gumps.Drag.GetType() != typeof(GDraggedItem))) && ((DateTime.Now - m_LastAction) > TimeSpan.FromSeconds(0.5))) { if (m_IVArray == null) { m_IVArray = new IItemValidator[2]; } if (m_Regs == null) { m_Regs = new PlayerDistanceValidator(new PickupValidator(ReagentValidator.Validator), 2); m_IVArray[0] = m_Regs; m_IVArray[1] = new PlayerDistanceValidator(new PickupValidator(new ItemIDValidator(new int[] { 0x26ac })), 2); } IItemValidator check = new PlayerDistanceValidator(new ItemIDValidator(new int[] { 0x2006 }), 2); Item[] itemArray = World.FindItems(check); ArrayList list2 = new ArrayList(); AosAppraiser instance = LootAppraiser.Instance; for (int j = 0; j < itemArray.Length; j++) { Item item2 = itemArray[j]; if ((item2.LastTextHue != null) && ((item2.LastTextHue.HueID() & 0x7fff) == 0x59)) { AosAppraiser.m_BlueCorpse = true; } else { AosAppraiser.m_BlueCorpse = false; } ArrayList items = item2.Items; for (int k = 0; k < items.Count; k++) { Item item = (Item) items[k]; Appraisal appraisal = instance.Appraise(item); if ((appraisal != null) && !appraisal.IsWorthless) { list2.Add(appraisal); } } } if (list2.Count > 0) { list2.Sort(); Appraisal appraisal2 = (Appraisal) list2[0]; Item item4 = appraisal2.Item; ObjectPropertyList propertyList = item4.PropertyList; string text = null; if (propertyList.Properties.Length > 0) { text = propertyList.Properties[0].Text; } if ((text == null) || (text == "")) { text = Localization.GetString(0xf9060 + (item4.ID & 0x3fff)); } string str2 = string.Format("Looting {0}.", text); if (list2.Count > 1) { str2 = string.Format("{0} There are {1} other valued item{2} to loot.", str2, list2.Count - 1, (list2.Count == 2) ? "" : "s"); } AddTextMessage(str2, DefaultFont, Hues.Load(0x35)); Mobile mobile2 = World.Player; if (mobile2 != null) { Network.Send(new PPickupItem(item4, item4.Amount)); Network.Send(new PDropItem(item4.Serial, -1, -1, 0, mobile2.Serial)); } } Item item5 = World.CharData.AutoPickup ? World.FindItem(m_IVArray) : null; if (World.CharData.Archery && (item5 == null)) { if (m_Ammo == null) { m_Ammo = new PlayerDistanceValidator(new PickupValidator(new ItemIDValidator(new int[] { 0xf3f, 0x1bfb })), 2); } item5 = World.FindItem(m_Ammo); } if (item5 != null) { Item regBag = null; if (ReagentValidator.Validator.IsValid(item5)) { regBag = World.CharData.RegBag; } if (regBag == null) { regBag = player.Backpack; } if (regBag != null) { QueueAutoMove(item5, item5.Amount, -1, -1, 0, regBag.Serial); } } } } } } } } } }
public ReagentValidator(IItemValidator parent) : base(parent, new int[] { 0xf7a, 0xf7b, 0xf84, 0xf85, 0xf86, 0xf88, 0xf8c, 0xf8d }) { }
public Item[] FindItems(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } ArrayList dataStore = Engine.GetDataStore(); Queue queue = m_FindItems_Queue; if (queue == null) { queue = m_FindItems_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { dataStore.Add(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item) queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item) items[i]; if (check.IsValid(item2)) { dataStore.Add(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } Item[] itemArray = (Item[]) dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return itemArray; }
public Item FindItem(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } Queue queue = m_FindItem_Queue; if (queue == null) { queue = m_FindItem_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { return this; } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item) queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item) items[i]; if (check.IsValid(item2)) { return item2; } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } return null; }
public ItemIDValidator(IItemValidator parent, params int[] list) { this.m_Parent = parent; this.m_List = list; }
public Item FindEquip(IItemValidator check) { ArrayList equip = this.m_Equip; int count = equip.Count; for (int i = 0; i < count; i++) { EquipEntry entry = (EquipEntry) equip[i]; if (check.IsValid(entry.m_Item)) { return entry.m_Item; } } return null; }
public static HasItemValidator New(IItemValidator validator) { return new HasItemValidator(validator); }
public static Item FindItem(IItemValidator check) { IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item) enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { return current; } } return null; }
public RangeValidator(IItemValidator parent, IPoint2D point, int xyRange) { this.m_Point = point; this.m_Parent = parent; this.m_xyRange = xyRange; }
public SerializedItemChecker(IItemValidator itemValidator, IItemFileWriter itemFileWriter, IOutputWriter outputWriter) { _itemValidator = itemValidator; _itemFileWriter = itemFileWriter; _outputWriter = outputWriter; }
public PredicateValidator(IItemValidator parent, Predicate <Item> predicate) { this.m_Parent = parent; this.predicate = predicate; }
public ValidatingDecoration(IStore decorated, IItemValidator validator) : base(decorated) { Condition.Requires(validator).IsNotNull(); this.ItemValidator = validator; }
public ItemFactory(IItemValidator validators) { _validator = validators ?? throw new ArgumentNullException(nameof(validators)); }
public static HasItemValidator New(IItemValidator validator) { return(new HasItemValidator(validator)); }
public ItemService(IItemRepository _itemRepository, IItemValidator _itemValidator) { _repository = _itemRepository; _validator = _itemValidator; }
public Item FindItem(IItemValidator iv) { return(this.FindItem(new Predicate <Item>(iv.IsValid))); }
/// <summary> /// adds a commit validator to a store /// </summary> /// <param name="decorated"></param> /// <param name="validator"></param> /// <returns></returns> public static ValidatingDecoration Validates(this IStore decorated, IItemValidator validator) { Condition.Requires(decorated).IsNotNull(); return new ValidatingDecoration(decorated, validator); }
public ItemValidationBehaviour() { _validator = new ItemValidator(); }