Пример #1
0
        public static int ItemIDOf(Type type)
        {
            int itemId;

            if (!_itemIds.TryGetValue(type, out itemId))
            {
                if (itemId == 0)
                {
                    object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false);

                    if (attrs.Length > 0)
                    {
                        CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0];
                        itemId = craftItemID.ItemID;
                    }
                }

                if (itemId == 0)
                {
                    Item item = null;

                    try { item = Activator.CreateInstance(type) as Item; } catch { }

                    if (item != null)
                    {
                        itemId = item.ItemID;
                        item.Delete();
                    }
                }

                _itemIds[type] = itemId;
            }

            return(itemId);
        }
Пример #2
0
        public static int ItemIDOf(Type type)
        {
            if (_itemIds.TryGetValue(type, out int itemId))
            {
                return(itemId);
            }

            if (type == typeof(FactionExplosionTrap))
            {
                itemId = 14034;
            }
            else if (type == typeof(FactionGasTrap))
            {
                itemId = 4523;
            }
            else if (type == typeof(FactionSawTrap))
            {
                itemId = 4359;
            }
            else if (type == typeof(FactionSpikeTrap))
            {
                itemId = 4517;
            }

            if (itemId == 0)
            {
                object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false);

                if (attrs.Length > 0)
                {
                    CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0];
                    itemId = craftItemID.ItemID;
                }
            }

            if (itemId == 0)
            {
                Item item = null;

                try
                {
                    item = Activator.CreateInstance(type) as Item;
                }
                catch
                {
                    // ignored
                }

                if (item != null)
                {
                    itemId = item.ItemID;
                    item.Delete();
                }
            }

            _itemIds[type] = itemId;

            return(itemId);
        }
Пример #3
0
        public static int ItemIDOf(Type type)
        {
            object obj = m_ItemIDs[type];

            if (obj != null)
            {
                return((int)obj);
            }

            int itemID = 0;

            if (type == typeof(FactionExplosionTrap))
            {
                itemID = 14034;
            }
            else if (type == typeof(FactionGasTrap))
            {
                itemID = 4523;
            }
            else if (type == typeof(FactionSawTrap))
            {
                itemID = 4359;
            }
            else if (type == typeof(FactionSpikeTrap))
            {
                itemID = 4517;
            }

            if (itemID == 0)
            {
                object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false);

                if (attrs.Length > 0)
                {
                    CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0];
                    itemID = craftItemID.ItemID;
                }
            }

            if (itemID == 0)
            {
                Item item = null;

                try{ item = Activator.CreateInstance(type) as Item; }
                catch {}

                if (item != null)
                {
                    itemID = item.ItemID;
                    item.Delete();
                }
            }

            m_ItemIDs[type] = itemID;

            return(itemID);
        }
Пример #4
0
		public static int ItemIDOf(Type type)
		{
			int itemId;

			if (!_itemIds.TryGetValue(type, out itemId))
			{
				if (type == typeof(FactionExplosionTrap))
				{
					itemId = 14034;
				}
				else if (type == typeof(FactionGasTrap))
				{
					itemId = 4523;
				}
				else if (type == typeof(FactionSawTrap))
				{
					itemId = 4359;
				}
				else if (type == typeof(FactionSpikeTrap))
				{
					itemId = 4517;
				}
					#region Mondain's Legacy
				else if (type == typeof(ArcaneBookshelfSouthDeed))
				{
					itemId = 0x2DEF;
				}
				else if (type == typeof(ArcaneBookshelfEastDeed))
				{
					itemId = 0x2DF0;
				}
				else if (type == typeof(OrnateElvenChestSouthDeed))
				{
					itemId = 0x2DE9;
				}
				else if (type == typeof(OrnateElvenChestEastDeed))
				{
					itemId = 0x2DEA;
				}
				else if (type == typeof(ElvenWashBasinSouthDeed) ||
					type == typeof(ElvenWashBasinSouthAddonWithDrawer))
				{
					itemId = 0x2D0B;
				}
				else if (type == typeof(ElvenWashBasinEastDeed) ||
					type == typeof(ElvenWashBasinEastAddonWithDrawer))
				{
					itemId = 0x2D0C;
				}
				else if (type == typeof(ElvenDresserSouthDeed))
				{
					itemId = 0x2D09;
				}
				else if (type == typeof(ElvenDresserEastDeed))
				{
					itemId = 0x2D0A;
				}
				#endregion

				if (itemId == 0)
				{
					var attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false);

					if (attrs.Length > 0)
					{
						CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0];
						itemId = craftItemID.ItemID;
					}
				}

				if (itemId == 0)
				{
					Item item = null;

					try
					{
						item = Activator.CreateInstance(type) as Item;
					}
					catch
					{ }

					if (item != null)
					{
						itemId = item.ItemID;
						item.Delete();
					}
				}

				_itemIds[type] = itemId;
			}

			return itemId;
		}