Exemplo n.º 1
0
        static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                System.Console.WriteLine("Must provide a file name as an argument.");
                System.Console.ReadLine();
                return;
            }

            System.Console.WriteLine("Parsing file '{0}'.", args[0]);
            var parser  = new FileParser();
            var sources = parser.Parse(args[0]);

            sources.UseAttributesWithValues = false;

            System.Console.WriteLine("Done parsing.  Parsed {0} data sources.", sources.Count);

            var attributeValues = new AttributeValues();

            attributeValues.FindValues(sources);
            System.Console.WriteLine("Done finding attribute values.");
            System.Console.WriteLine();

            int itemId;

            if (args.Length < 2)
            {
                var rand  = new Random();
                int index = rand.Next(attributeValues.ValuesMap[LootGainLib.Attribute.Loot].Keys.Count);
                itemId = (int)attributeValues.ValuesMap[LootGainLib.Attribute.Loot].Keys.ToList()[index];
            }
            else
            {
                itemId = int.Parse(args[1]);
            }

            PrintSingleItem(itemId, sources, attributeValues);
            System.Console.WriteLine();
            System.Console.WriteLine();

            string sourceName;

            if (args.Length < 3)
            {
                var rand  = new Random();
                int index = rand.Next(attributeValues.ValuesMap[LootGainLib.Attribute.SourceName].Keys.Count);
                sourceName = (string)attributeValues.ValuesMap[LootGainLib.Attribute.SourceName].Keys.ToList()[index];
            }
            else
            {
                sourceName = args[2];
            }

            PrintSingleSource(sourceName, sources);


            System.Console.ReadLine();
        }
Exemplo n.º 2
0
        static void PrintSingleSource(string sourceName, DataSourcesCollection sources)
        {
            var singleSourceSources = from s in sources
                                      where s.SourceName == sourceName
                                      select s;
            var localSources = new DataSourcesCollection(singleSourceSources);

            var attributeValues = new AttributeValues();

            attributeValues.FindValues(localSources);

            var allLoot = attributeValues.ValuesMap[LootGainLib.Attribute.Loot].Keys.ToList();

            System.Console.WriteLine("Loot for source '{0}' ({1} loot item(s); looted {2} time(s)).", sourceName, allLoot.Count, localSources.Count);
            foreach (int itemId in allLoot)
            {
                PrintSingleItem(itemId, localSources, attributeValues);
                System.Console.WriteLine();
            }
        }