예제 #1
0
        public Dictionary <string, Item> GetItems(byte type)
        {
            ItemCacheL2 level2Cache = GetLevel2Cache(type);

            string[] ids = null;
            Dictionary <string, Item> result = new Dictionary <string, Item>();

            if (level2Cache.TryGetIds(out ids))
            {
                if (ids != null)
                {
                    for (int i = 0; i < ids.Length; i++)
                    {
                        Item it;
                        if (level2Cache.TryGetItem(ids[i], out it))
                        {
                            result.Add(ids[i], it);
                        }
                    }
                }
            }
            return(result);
        }
예제 #2
0
        /// <summary>
        ///   Tries to retrieve an <see cref = "Item" />.
        /// </summary>
        /// <param name = "itemType">
        ///   The item Type.
        /// </param>
        /// <param name = "itemId">
        ///   The item id.
        /// </param>
        /// <param name = "item">
        ///   The found item.
        /// </param>
        /// <returns>
        ///   true if item was found.
        /// </returns>
        public bool TryGetItem(byte itemType, string itemId, out Item item)
        {
            ItemCacheL2 level2Cache = this.GetLevel2Cache(itemType);

            return(level2Cache.TryGetItem(itemId, out item));
        }
예제 #3
0
        public bool TryGetItem(byte itemType, Vector3 center, float radius, Func <Item, bool> customFilter, out Item item)
        {
            ItemCacheL2 level2Cache = this.GetLevel2Cache(itemType);

            return(level2Cache.TryGetItem(center, radius, customFilter, out item));
        }