Exemple #1
0
        private static void Main(string[] args)
        {
            var db = new All(JsonDb.Load(), JsonNames.LoadNames());

            albionParser = new AlbionParser();

            albionParser.AddEventHandler<PlayerCounts>(p =>
            {
                Console.WriteLine($"Players: {p.Blue} / {p.Red}");
            });

            albionParser.AddOperationHandler<ConsloeCommand>(p =>
            {
                Console.WriteLine($"LocId: {p.LocId} {p.Town}");
            });

//            albionParser.AddOperationHandler<AuctionBuyOffer>(p =>
//            {
//                if (p.Items.Length==0) return;
//                var items = p.Items.GroupBy(x=>x.ItemTypeId).ToArray();
//                foreach (var item in items)
//                {
//                    var max = item.Max(x => x.UnitPriceSilver) / 10000;
//
//                    var ph = db.GetItem(item.Key).PriceHolder;
//
//                    ph.UpdateBye(max, items.Length == 1);
//                }
//            });
//
//            albionParser.AddOperationHandler<AuctionGetRequests>(p =>
//            {
//                if (p.Items.Length == 0) return;
//                var items = p.Items.GroupBy(x => x.ItemTypeId).ToArray();
//                foreach (var item in items)
//                {
//                    var min = item.Min(x => x.UnitPriceSilver) / 10000;
//
//                    var ph = db.GetItem(item.Key).PriceHolder;
//
//                    ph.UpdateSell(min, items.Length == 1);
//                }
//            });

            Console.WriteLine("Start");

            albionParser.Start();

            Console.Read();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            albionParser = new AlbionParser();
            albionParser.AddRequestHandler <MoveOperation>(OperationCodes.Move, (operation) =>
            {
                Console.WriteLine($"Move request");
            });
            albionParser.AddEventHandler <MoveEvent>(EventCodes.Move, (operation) =>
            {
                Console.WriteLine($"Id: {operation.Id} x: {operation.Position.X} y: {operation.Position.Y}");
            });
            albionParser.AddEventHandler <NewCharacterEvent>(EventCodes.NewCharacter, (operation) =>
            {
                Console.WriteLine($"New ch Id: {operation.Id}");
            });

            Console.WriteLine("Start");

            var devices = LivePacketDevice.AllLocalMachine;

            foreach (var device in devices)
            {
                new Thread(() =>
                {
                    Console.WriteLine($"Open... {device.Description}");

                    using (PacketCommunicator communicator = device.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000))
                    {
                        communicator.ReceivePackets(0, PacketHandler);
                    }
                })
                .Start();
            }

            Console.Read();
        }
Exemple #3
0
        public MainViewModel()
        {
            RefreshCommand     = new RelayCommand(() => RaisePropertyChanged(nameof(CommonItems)));
            ClearBmCommand     = new RelayCommand(ClearBm);
            ClearItemBmCommand = new RelayCommand <CommonItem>(ClearItemBm);
            ClearItemCommand   = new RelayCommand <CommonItem>(ClearItem);
            OpenItemCommand    = new RelayCommand <CommonItem>(OpenItem);

            Tirs = Enumerable.Repeat(new Tuple <string, int?>("-", null), 1)
                   .Concat(Enumerable.Range(1, 8).Select(x => Tuple.Create(x.ToString(), (int?)x)));
            Enchants = Enumerable.Repeat(new Tuple <string, int?>("-", null), 1)
                       .Concat(Enumerable.Range(0, 4).Select(x => Tuple.Create(x.ToString(), (int?)x)));
            Qualities = Enumerable.Repeat(new Tuple <string, int?>("-", null), 1)
                        .Concat(Enumerable.Range(1, 5).Select(x => Tuple.Create(x.ToString(), (int?)x)));

            ShopCategories = Enumerable.Repeat(new Tuple <string, ShopCategory?>("-", null), 1).Concat(Enum
                                                                                                       .GetValues(typeof(ShopCategory)).Cast <ShopCategory?>()
                                                                                                       .Select(x => Tuple.Create(x.Value.ToString(), x)));
            ShopSubCategories = Enumerable.Repeat(new Tuple <string, ShopSubCategory?>("-", null), 1)
                                .Concat(Enum.GetValues(typeof(ShopSubCategory)).Cast <ShopSubCategory?>()
                                        .Select(x => Tuple.Create(x.Value.ToString(), x)));

            BuyTownManager     = new TownManager();
            SellTownManager    = new TownManager();
            CraftTownManager   = new TownManager();
            AuctionTownManager = new TownManager();

            _mdm = new MarketDataManager();
            _bdm = new BuildingDataManager(CraftTownManager);

            var loader = new XmlLoader(_bdm, CraftTownManager, BuyTownManager, SellTownManager);

            loader.LoadModel();

            Items = loader.Items.Values.Where(x => x.ShopSubCategory != Model.Items.Categories.ShopSubCategory.Event)
                    .ToDictionary(k => k.Id + (k.QualityLevel > 1 ? $"_{k.QualityLevel}" : ""));

            LoadData();

            Artefacts = loader.Artefacts;

            _debounceDispatcher = new DebounceDispatcher();
//            foreach (var item in Items.Values)
//            {
//                item.PropertyChanged += (sender, args) =>
//                {
//                     //if (args.PropertyName == "Pos")
//                     RefreshTree();
//                };
//            }

            BuildingsViewModel = new BuildingsViewModel(loader.CraftBuildings, CraftTownManager);

            _albionParser = new AlbionParser();

            BuyTownManager.Town     = Location.None;
            SellTownManager.Town    = Location.None;
            CraftTownManager.Town   = Location.None;
            AuctionTownManager.Town = Location.None;

            AuctionTownManager.TownChanged += p =>
            {
                if (BuyTownManager.Town == Location.None)
                {
                    BuyTownManager.Town = p.Town;
                }
                if (SellTownManager.Town == Location.None)
                {
                    SellTownManager.Town = p.Town;
                }
                if (CraftTownManager.Town == Location.None)
                {
                    CraftTownManager.Town = p.Town;
                }
            };

            InitAlbionParser();

            CostCalcOptions.Instance.ProfitsChanged += RefreshTree;
            CostCalcOptions.Instance.Changed        += RefreshTree;
        }
Exemple #4
0
 public ReceiverBuilder()
 {
     parser = new AlbionParser();
 }