override protected void OnReceive(object message) { if (message is IncrementMoviePlayCountMessage msg) { ProcessIncrementMoviePlayCountMessage(msg); } else { ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!"); Unhandled(message); } }
private void PlayingMovieBehavior(object message) { switch (message) { case PlayMovieMessage msg: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] ERROR: Already playing movie! PlayMovieMessage message received --> {msg.ToString()}."); break; case StopMovieMessage msg: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] StopMovieMessage message received --> {msg.ToString()}."); StopPlayingMovie(msg); break; } }
private void StoppedBehavior(object message) { switch (message) { case PlayMovieMessage msg: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] PlayMovieMessage message received --> {message.ToString()}."); StartPlayingMovie(msg); break; case StopMovieMessage msg: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] ERROR: Can't stop if nothing is playing! StopMovieMessage message received --> {msg.ToString()}."); break; } }
protected override void OnReceive(object message) { ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] OnReceive(): Received Message on '{this.ActorName}' Actor..."); switch (message) { case PlayMovieMessage msg: Become(PlayingMovieBehavior); break; case StopMovieMessage msg: Become(StoppedBehavior); break; default: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!"); Unhandled(message); break; } }
override protected void OnReceive(object message) { IActorRef actorRef; switch (message) { case PlayMovieMessage pmm: actorRef = CreateOrGetChildActor(pmm.UserId); ActorSystemHelper.SendAsynchronousMessage(actorRef, message); break; case StopMovieMessage smm: actorRef = CreateOrGetChildActor(smm.UserId); ActorSystemHelper.SendAsynchronousMessage(actorRef, message); break; default: ColoredConsole.WriteReceivedMessage($" [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!"); Unhandled(message); break; } }