public void Init() { var config = LoadConfig(); if (config == null) { Log.Error("No config json, program exit"); return; } var disableJsonWarning = ConfigurationFactory.ParseString(@" akka { suppress-json-serializer-warning = on }"); _system = ActorSystem.Create("TreasureHunter", disableJsonWarning); var actors = new List <IActorRef>(); var valuationActor = _system.ActorOf(ValuationActor.Props(), "Valuation"); var commander = _system.ActorOf(CommandActor.Props(actors), "Commander"); var dataAccessActor = _system.ActorOf(DataAccessActor.Props(actors), "DataAccess"); var paymentActor = _system.ActorOf(PaymentActor.Props(dataAccessActor, actors), "Payment"); var routees = config.Bots.Select(bot => _system.ActorOf(BotActor.Props(bot, config.ApiKey, (x, y) => new CustomUserHandler(x, y), valuationActor, commander, dataAccessActor), bot.DisplayName)).ToList(); actors.AddRange(routees); actors.Add(paymentActor); actors.Add(valuationActor); do { Console.Write("botmgr > "); string inputText = Console.ReadLine(); if (!string.IsNullOrEmpty(inputText)) { commander.Tell(new UserCommandMessage() { Text = inputText }); } } while (true); }
public CustomUserHandler(BotActor bot, SteamID sid) : base(bot, sid) { }
protected UserHandler(BotActor bot, SteamID sid) { Bot = bot; OtherSID = sid; GetOtherInventory(); }
/// <summary> /// New Transaction /// </summary> /// <param name="offer"></param> /// <param name="state"></param> /// <param name="price"></param> /// <param name="paidAmmount"></param> public TradeOfferTransaction(TradeOffer offer, TradeOfferTransactionState state, double price, BotActor bot, double paidAmmount = 0.0) { OfferState = offer.OfferState; Offer = offer; State = state; Price = price; PaidAmmount = paidAmmount; Id = Guid.NewGuid(); TradeOfferId = offer.TradeOfferId; TimeStamp = DateTime.UtcNow; Buyer = null; BotPath = bot.BotName; }