// ReSharper disable once MemberCanBePrivate.Global // public constructor required for akka public Competitor( ICompetitorFactory playerAgentActorFactory , IActorRef playerLobby , IUser creator , IScript script , IActorRef resultRepository , CompetitorState initialState) { _playerAgentActorFactory = playerAgentActorFactory; _playerLobby = playerLobby; _creator = creator; _script = script; _resultRepository = resultRepository; _statusSubscriptions = new HashSet <IActorRef>(); _methodCallsFailureCounter = new Counter(MaxMethodCallsFailures); _state = initialState; if (_script.Exception != null) { _failureStateInfo = new AgentFailureState(new DeserializedException(_script.Exception)); Faulted(); } else { Active(); } }
public static Props Props( IActorRef scriptRepository , ICompetitionInfo competitionInfo , IActorRef lobby , ICompetitorFactory factory , IActorRef resultRepository) { return(Akka.Actor.Props.Create(() => new Competition(scriptRepository, competitionInfo, lobby, factory, resultRepository))); }
public Competition( IActorRef scriptRepository , ICompetitionInfo competitionInfo , IActorRef lobby , ICompetitorFactory competitorFactory , IActorRef resultsRepository) { _scriptRepository = scriptRepository; _competitionInfo = competitionInfo; _lobby = lobby; _competitorFactory = competitorFactory; _resultsRepository = resultsRepository; EnsureSubscription(_scriptRepository); Receive <IEnumerable <Script> >(OnScriptBatchReceived); Receive <Data.Entities.Messages.AddedEvent <Script> >(OnNewScriptAdded); Receive <Data.Entities.Messages.UpdatedEvent <Script> >(OnScriptUpdated); Receive <Data.Entities.Messages.DeletedEvent <Script> >(OnScriptDeleted); }
public static Props Props(ICompetitorFactory factory, IActorRef playerLobby, IUser creator, IScript script, IActorRef resultRepository, CompetitorState initialState) { return(Akka.Actor.Props.Create(() => new Competitor(factory, playerLobby, creator, script, resultRepository, initialState))); }