示例#1
0
        /// <summary>
        /// Constructs header for all items.
        /// </summary>
        /// <param name="filter">Loot filter.</param>
        /// <returns>Item header.</returns>
        public static string GetHeader(LootFilter filter)
        {
            StringBuilder builder = new StringBuilder();
            int           l       = PropCount;

            builder.Append(Filter(filter, l, "Serial\t", null));
            builder.Append(Filter(filter, l + 1, "Localized Number\t", null));
            builder.Append(Filter(filter, l + 2, "Name\t", null));
            builder.Append(Filter(filter, l + 3, "ItemID\t", null));
            builder.Append(Filter(filter, l + 4, "Hue\t", null));
            builder.Append(Filter(filter, l + 5, "Amount\t", null));
            builder.Append(Filter(filter, l + 6, "Weight\t", null));

            string[] list = Enum.GetNames(typeof(ItemProperty));

            for (int i = 0; i < list.Length; i++)
            {
                if (filter == null || filter.Filters(i))
                {
                    builder.AppendFormat("{0}\t", list[i]);
                }
            }

            return(builder.ToString());
        }
示例#2
0
        /// <summary>
        /// Converts this item to one line string
        /// </summary>
        /// <param name="filter">Loot filter.</param>
        /// <returns>Item converted into string.</returns>
        public string ToString(LootFilter filter)
        {
            StringBuilder builder = new StringBuilder();
            int           l       = PropCount;

            builder.Append(Filter(filter, l, "0x{0}\t", m_Serial.ToString("X8")));
            builder.Append(Filter(filter, l + 1, "{0}\t", m_NameCliloc));
            builder.Append(Filter(filter, l + 2, "{0}\t", m_Name));
            builder.Append(Filter(filter, l + 3, "0x{0}\t", m_ItemID.ToString("X4")));
            builder.Append(Filter(filter, l + 4, "0x{0}\t", m_Hue.ToString("X")));
            builder.Append(Filter(filter, l + 5, "{0}\t", m_Amount));
            builder.Append(Filter(filter, l + 6, "{0}\t", m_Weight));

            Array list = Enum.GetValues(typeof(ItemProperty));

            for (int i = 0; i < list.Length; i++)
            {
                ItemProperty p = (ItemProperty)i;

                if (filter == null || filter.Filters((int)p))
                {
                    if (m_Properties.ContainsKey(p))
                    {
                        builder.AppendFormat("{0}\t", m_Properties[p]);
                    }
                    else
                    {
                        builder.Append('\t');
                    }
                }
            }

            return(builder.ToString());
        }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the SpyUO.LootAnalyzer.
        /// </summary>
        public LootAnalyzer()
        {
            m_Mobiles          = new Dictionary <uint, Mobile>();
            m_Corpses          = new Dictionary <uint, Mobile>();
            m_CorpseContainers = new Dictionary <uint, Mobile>();
            m_Items            = new Dictionary <uint, Item>();

            m_Filter = new LootFilter();
        }
示例#4
0
        /// <summary>
        /// Filters item property
        /// </summary>
        /// <param name="filter">Loot filter.</param>
        /// <param name="index">Item property (<see cref="ItemProperty"/>).</param>
        /// <param name="format">A composite format string.</param>
        /// <param name="args">An object to format.</param>
        /// <returns>Empty string when filtered and constructed item property otherwise.</returns>
        public static string Filter(LootFilter filter, int index, string format, object args)
        {
            if (filter == null || filter.Filters(index))
            {
                return(String.Format(format, args));
            }

            return(String.Empty);
        }
示例#5
0
        public LootFilterForm(LootFilter filter)
        {
            m_Filter = filter;

            InitializeComponent();

            string[] names = Enum.GetNames(typeof(ItemProperty));
            ItemFilter.Items.AddRange(names);
            ItemFilter.Items.AddRange(Item.DefaultNames);
        }