public FightControllersContainer(SettingsStorage setingsStorage, UserFightQueue.Entry[] fighters, int fightIndex) { if (fighters == null) { throw new ArgumentNullException(nameof(fighters)); } _setingsStorage = setingsStorage ?? throw new ArgumentNullException(nameof(setingsStorage)); FightIndex = fightIndex; _controllers = new List <IFighterController>(); _knifesInfo = fighters.Select(f => new Fight.KnifeInfo(f.knifeName, f.knifeMode)).ToArray(); fight = new Fight(_knifesInfo, _setingsStorage, fightIndex); for (int i = 0; i < fighters.Length; i++) { UserFightQueue.Entry f = fighters[i]; IFighterController controller = f.controllersFactory.CreateFighterController(fight, i); _controllers.Add(controller); } }
//---msg readrs void FightQueueMessage_Reader(ReceivedMsg receivedMsg, FightQueueMessage msg) { // TODO проверку чтобы 2 раза в очередь нельзя было вставать UserFightQueue.Entry entry = new UserFightQueue.Entry(_controllersFactory, msg.KnifeName, msg.KnifeMode); _userFightQueue.Enqueue(entry); }
void UserFightQueue_UserEnqueue(UserFightQueue sender, UserFightQueue.Entry entry) { Console.WriteLine(typeof(BotTestServer).Name + $" Login={entry.controllersFactory.Login} FightQueue_UserEnqueue"); _test.Step_AllUsers_EnqueueInFightQueue.IncrimentCounter(entry.controllersFactory.Login); }
public void GoToFightQueue() { UserFightQueue.Entry entry = new UserFightQueue.Entry(_testBotControllerFactory, "knife00", KnifeMode.Medium); _userFightQueue.Enqueue(entry); }